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