引出
1 怎么让类公有的属性共同处理:定义一个统一的类来描述,子类继承父类
语法
public class Tea extends Person{
}
作用
1 2 3
优点
注意点
1 java中不支持多继承,即一个子类只能继承一个父类
2 但是可以多个子类继承自一个父类
3 多层继承时,继承依旧有效
思考
直接实例化子类时,父类会被实例化吗?会先实例化父类,不管多少层继承,只要子类实例化,父类都会被实例化
代码
1 public class Person {
2 String name;
3 int age;
4 Person(){
5
6 }
7 }
8
9 public class Tea extends Person{
10 Tea(){ //走到这就去调父类的构造函数去了
11 //super("123");
12 System.out.println("Tea is ok");
13 }
14 }
15
16 public class App {
17 public static void main(String[] args) {
18 Tea t=new Tea();
19 }
20 }
super关键字
定义:指向父类的指针
作用:在子类中想要调用父类的方法、属性、构造器
语法:super.name super.run() super(“jim”,23)
注意:super的查找顺序是找自己的直接父类;super调父类构造器,必须在首行
代码
1 public class Person {
2 String name;
3 int age;
4 Person(String name){
5 System.out.println("Person is ok");
6 }
7 }
8
9 public class Tea extends Person{
10 Tea(){
11 super("123");
12 System.out.println("Tea is ok");
13 }
14 }
15
16 public class App {
17 public static void main(String[] args) {
18 Tea t=new Tea();
19 }
20 }