继承的特点:
java中只支持单继承不支持多继承。
有些语言是支持多继承的,格式:extends类1,类2...
但是java支持多层继承,例:子类继承父类,父类也可以继承父类的父类(此处形象称为:爷爷类),子类同样拥有爷爷类的属性和方法
1-子类只能继承父类所有的非私有成员(方法和变量),不能继承父类的私有成员。
首先要思考类与类之间的关系:是否具有附属关系。
例:
人类:
学生类
老师类
水果类:
苹果类
西瓜类
香蕉类
java中只支持单继承不支持多继承。
有些语言是支持多继承的,格式:extends类1,类2...
但是java支持多层继承,例:子类继承父类,父类也可以继承父类的父类(此处形象称为:爷爷类),子类同样拥有爷爷类的属性和方法
案例:
“爷爷类:”
package day08;
public class GrandFather {
public void show(){
System.out.println("我会唱戏!");
}
}
“父亲类”
package day08;
public class Father extends GrandFather {
public void play(){
System.out.println("我会开车!");
}
}
子类:
package day08;
public class Son extends Father {
}
测试类:
package day08;
public class SonMain {
/**
* @param args
*/
public static void main(String[] args) {
// 创建son类对象
Son s = new Son();
//调用父类Father的play()方法
s.play();
//调用父类的父类GrandFather的show()方法
s.show();
}
}
输出:
我会开车!
我会唱戏!
1-子类只能继承父类所有的非私有成员(方法和变量),不能继承父类的私有成员。
2-父类的构造方法不被子类所继承,但是可以通过super关键字访问父类构造方法,以及操作父类成员。
注意:子类虽然不能继承父类的构造方法,但是子类在实例化对象(不管对象有无参数)的时候会自动调用父类的无参构造方
法。
首先要思考类与类之间的关系:是否具有附属关系。
例:
人类:
学生类
老师类
水果类:
苹果类
西瓜类
香蕉类