- 三个类,爷爷类,父亲类,儿子类;父亲类继承爷爷类,儿子类继承父亲类
- 私有方法,构造方法不能被继承
- 子类可以调用形参为父类的方法
1. 爷爷类
package JiCheng;
public class Gf {
// 成员变量
String name;
// 构造方法
// 构造方法是构造当前类实例的特殊方法,不能被继承
// 但是子类可以使用super关键字来调用父类的构造方法,用于初始化父类各项
Gf(){
}
public void a1() {
// 公有方法,可继承
}
private void b1() {
// 私有方法,不可继承,但可以想办法调用它
}
}
2. 父亲类
package JiCheng;
public class F extends Gf{
// 父亲类继承爷爷类
// 成员方法-公有
public void a2() {
}
// 公有方法
public void b2() {
}
}
3. 儿子类
package JiCheng;
public class Z extends F{
// 儿子类继承父亲类
public void a3() {
}
}
4. 测试demo
package JiCheng;
public class Extends_Demo01 {
public static void main(String[] args) {
Gf gf = new Gf(); // 爷爷类
F f = new F(); // 父亲类
Z z = new Z(); // 儿子类
// f可以调用爷爷类公有的方法a1,但不能调用私有的方法b1
f.a1();
// z可以可以调用爷爷类的a1,父亲类的a2,b2
z.a1();
z.a2();
z.b2();
// z继承了爷爷类的成员变量
z.name = "zzg";
// 儿子类实例可以调用形参为爷爷类的方法
System.out.print(getName(z));
}
// 形参为爷爷类,但由于继承的原因,父亲类和儿子类都可以调用
public static String getName(Gf g) {
return g.name;
}
}