继承概念:
继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
public class Fruit extends Object {// jvm 自动给Fruit类,添加到Object的继承体系中
// 成员变量
private String name;
public String color;
// 构造方法
public Fruit() {
this("", "");// 构造方法之间相互调用
// Fruit("","");不允许的方式
}
// public Banana(){
// //jvm 自动会给子类的构造方法,添加一个super();
// }
public Banana() {
super();
}
super("banana", "yellow");// 调用 父类的构造方法,来给父类对象初始化
this.local = local;
super.color = "yellow";// 访问父类的成员变量
如果构造方法被调用了,就代表着 该类对象被创建。
子类和父类中,存在了同名的成员变量的情况
就近原则
this:当前对象
super:当前的父类对象
子类的成员变量与父类的成员变量 重名的时候,我们用super来解决
局部位置
local code block: 限定了局部变量的作用域,提早释放变量,减少内存占用
继承中的构造方法
public xxx(){
//jvm 自动会给子类的构造方法,添加一个super();
}
public Banana() {
super();
}
public Banana(String local) {
// Constructor call must be the first statement in a constructor
super("banana", "yellow");// 调用 父类的构造方法,来给父类对象初始化
this.local = local;
super.color = "yellow";// 访问父类的成员变量
System.out.println("Banana(String local)被调用了");
}