1.继承
a.继承是面向对象的三大特征之一,继承指的是一个类从另一个类从获得属性和方法的过程,它们的关系可以看做是父子的关系
,一个父类,一个子类。
b.语法:
修饰符 Subclass extends SuperClass {
//类定义部分
}
注:
继承(nheritance) 通过extends 关键字来实现,其中的SubClass 称为子类,S uperClass 称为父类
基类或超类。修饰符如果是public,则该类在整个项目中可见: 若无public修饰符,则该类只在当前
包可见,不可以使用private和protected 修饰类。
2.访问修饰符权限(如图)
基类或超类。修饰符如果是public,则该类在整个项目中可见: 若无public修饰符,则该类只在当前
包可见,不可以使用private和protected 修饰类。
2.访问修饰符权限(如图)
3.子类重写子类方法
在Java中,实现多态的条件是非常简单的。
父类(普通类)
方法(普通方法)
子类 extends 父类
方法(普通方法 ----->和父类某个方法同名)
父类(普通类)
方法(普通方法)
子类 extends 父类
方法(普通方法 ----->和父类某个方法同名)
注意事项
a.重写方法和被重写方法必须具有相同的方法名。
b.重写方法和被重写方法必须具有相同的参数列表。
c.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。
d.重写方法不能缩小被重写方法的访问权限。
b.重写方法和被重写方法必须具有相同的参数列表。
c.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。
d.重写方法不能缩小被重写方法的访问权限。
抽象类和抽象方法的注意事项
1.抽象类中可以有抽象方法,也可以有非抽象方法
2.抽象方法中没有方法体,直接以分号结束
3.抽象方法必须在子类中重写,除非子类本身也是一个抽象类
4.如果用Abstract修饰,那么该类就是抽象类
5.抽象类不能被实例化
6.抽象类不能是静态类
7.抽象类可以有构造
8.抽象方法只能出现在抽象类中
9.抽象方法只是用来约束子类方法行为的
final修饰符
a.final修饰属性:不能再次赋值
b.final修饰方法: 方法不能被重写
c.final修饰类,类不能被继承
b.final修饰方法: 方法不能被重写
c.final修饰类,类不能被继承
继承关系下子类构造的执行过程
1.从Main---->子类构造不进入方法体
2.从子类构造------>父类构造
3.执行父类构造 ,创建了父类对象
4.回到子类构造,执行构造体
5.再回到Main。创建出对象