面向对象三大特征之一:继承
在现有的类基础上向外派生得到一个新类 这个过程称为继承
现有的类称为父类 新类称为子类
在Java中继承是单继承,一个类只能有一个直接父类
但是可以有许多间接的父类,Object是所有类的父类
子类继承父类语法:
public class 子类名 extends 父类名{}
注意:
1.在java中类与类之间只支持单继承
一个父类可以有多个子类
但是一个子类只能有一个父类
2.如果一个类没有显示的声明继承自某个类
那么该类会默认继承自java.lang.Object
Object类是类层次结构最顶层的父类
子类继承父类需要掌握三点:
1.子类可以继承父类所有非私有属性和行为
2.子类除了从父类继承到的属性和行为之外
还可以扩展自己所独有的属性和行为
3.当子类继承父类的方法不满足子类的需求时
那么子类可以重新实现该方法 称为方法重写
方法重写(override或overriding):
发生在子类中
子类重写父类方法 方法的声明部分 除了子类修饰权限需要大于或等于父类方法修饰权限之外 其他部分保持一致(重写是做好直接复制)
final关键字:
表示最终的 不可修改的
1.有final修饰的变量 可以看做是常量
2.有final修饰的方法 不可以重写
3.有final修饰的类 不能被继承
创建子类实例对象调用属性或者方法时,会优先在子类中寻找该方法或属性,如果没有才会去父类中查询
class ManTest{ int a=10; public void student(){ System.out.println(a);//10 } } class Test extends ManTest{ int a=20; public void student() { System.out.println(a);//20 } public static void main(String[] args) { Test test=new Test(); test.student();//子类对象优先调用执行子类中的方法 } }