Java 继承③
2026/7/24 12:58:20 网站建设 项目流程

目录

  • 1. 初始化
  • 2. 关键字protected
  • 3. 继承方式
  • 4. 关键字 final 修饰类
  • 5. 组合和继承

1. 初始化

当静态代码块、实例代码块和构造方法都出现在子类和父类,代码的初始化顺序是什么样的?

classPerson{Stringname;intage;publicPerson(Stringname,intage){this.name=name;this.age=age;System.out.println("Person(String ,int)");}static{System.out.println("Person:static{}");}{System.out.println("Person:{}");}}classPainterextendsPerson{booleanblindness;publicPainter(booleanblindness,Stringname,intage){super(name,age);this.blindness=blindness;System.out.println("Painter(boolean ,String ,int)");}static{System.out.println("Painter:static{}");}{System.out.println("Painter:{}");}}publicclassTest{publicstaticvoidmain(String[]args){Painterp=newPainter(true,"da vinci",61);}}

由于三者之间的顺序是: 静态代码块 > 实例代码块 > 构造方法
①父类和子类和静态代码块先执行 —> ②父类实例代码块和构造方法 —> ③ 子类实例代码块和构造方法

注意点:

  • 静态代码块最先被执行,且只执行一次。
  • 实例代码块和构造方法调用几次执行几次
publicstaticvoidmain(String[]args){Painterp1=newPainter(true,"da vinci",61);System.out.println("==============================");Painterp2=newPainter(false,"NPC",20);}

2. 关键字protected


限定访问符同一类同一个包不同包子类不同包非子类
protected

不同包子类:



在包demo

packageDemo;publicclassTest1{protectedintage=10;}

在包demo2:

packageDemo2;importDemo.Test1;publicclassTest2extendsTest1{publicvoidprint(){System.out.println(super.age);}publicstaticvoidmain(String[]args){Test2test=newTest2();test.print();}}

test.print();输出结果:

3. 继承方式

Error❌:

classA{}classB{}classCextendsA,B{}

⚠️:java不支持一个子类继承多个父类

目录

  • 1. 初始化
  • 2. 关键字protected
  • 3. 继承方式
  • 4. 关键字 final 修饰类
  • 5. 组合和继承

4. 关键字 final 修饰类

final修饰类 :表示被修饰类不可被继承

Error ❌:

finalclassPerson{}classStudentextendsPerson{}

5. 组合和继承

继承:表示is - a(是一个)的关系

classPerson{}classStudentextendsPerson{}

StudentPerson

组合:表示has - a(有一个)的关系

classEngine{publicvoidstart(){System.out.println("发动机启动");}}classCar{Engineengine=newEngine();publicvoidrun(){engine.start();System.out.println("汽车行驶");}}publicclassTest{publicstaticvoidmain(String[]args){Carcar=newCar();car.run();}}

Carengine

继承组合
关系is-ahas-a
关键字extends成员变量
耦合
灵活性较低较高

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询