java继承理解

   

   继承是多个类中存在相同属性和方法时,将这些内容放到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
多个类可以称为子类,单独这个类称为父类。(这样就不用多次写重复的代码了)
子类可以继承父类除构造方法(构造方法是类特有的,可以调用)外所有的属性和方法(包括Private私有属性和方法,),

可以直接访问父类中的非私有的属性和方法,不可以直接访问到父类的Private属性和方法。

通过 extends 关键字继承。


继承的大致可理解为一种包含关系,比如学生是一个类,包含大学生、中学生、小学生。
 public class UNStudent(子类) extends Student(父类)
可有多个子类但只能有一个父类(好比现实中的父子关系),但可以多重继承,构成一种体系。

java中所有类都默认继承Object类(它是这个体系中的老大,上帝般的存在)。



 1.定义子类
 继承父类中的属性和方法方法

Student st=new UNStudent();


2.方法重写(覆盖)
学生有学习方法,但不是所有学生的学习方法都一样,所以在子类UNStudent中
可以重写大学生的学习方法,把Student父类中通用的方法覆盖。

(注意:方法重写时, 返回值类型 方法名 参数列表(参数类型 个数 顺序) 都要一致
方法重写可以实现多态,都是study的方法,在子类中重写后就会有不同的study方法。
下图父类Student中的学习方法

下图是子类UNStudent中的学习方法

通过方法重写子类中study的方法可以把父类中的方法覆盖。


在调用某方法时,先去子类中找该方法,如果没有再去父类中找。



3.强制转型,可以将父类的对象转为子类(自上而下)
UNStudent st2=(UNStudent) st1;

强制类型转化后父类可以调用子类中特有的方法。

子类的对象转为父类(自下而上)是自动转型。

猜你喜欢

转载自blog.csdn.net/ziyonghong/article/details/79771355
今日推荐