引出
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 }