我是Java新手,在这里简要的介绍一下Java中类的继承。
我刚开始很疑惑的一点是为什么要使用继承,后来有了答案。
1 为什么使用类的继承?
类的继承可以使派生类继承基类已有的功能,即重用代码,可以节省程序设计的时间。 在派生类中可以加入新的特征和方法,实现更具体的功能。 比如说,你已经定义了一个Student类,但是后面你要使用一个大学生类,这个时候如果你重写一个,就会比别人使用继承浪费时间,此外你还可以在大学生类中加入新的特征与方法,比如说调研方法等等。 2继承的格式 先定义一个Student类 public class Student{ public String name; public void study(){ System.out.println(name+"在学习"); } } 然后用一个UNStudent继承Student类 public class UNStudent extends Student{ public void play(){ System.out.println(name+"在玩"); } 通过extends关键字,在UNStudent中就自动具有了Student类中的属性和方法 3自动转型与强制转型 当大学生继承了学生类后,我们可以说,一个大学生对象一定是一个学生对象 public static void main(String [] args){ Student stu=new UNStudent(); stu.study(); stu.play();//错误 } 按照前面学的惯性思维,在new的时候,我会写成UNStudent stu=new UNStudent(); 但当写成Student stu=new UNStudent()时,会出现错误,原因是将子类对象的类型定义为父类类型了,这种写法叫做自动转型,也就是说子类对象的类型可以自动转型成父类类型。 但子类类型转为父类类型后不能调用子类特有的方法了,这就是上面出现错误的原因。 如果你自动转型后,还想调用子类中的特有的方法,那么你就需要强制转型 UNStudent stu1=(UNStudent)stu; stu1.play();\\ 正确 这就是强制转型。 4方法重写 子类将从父类中继承来的方法重新写方法体,我们叫做方法的重写。 如 public class UNStudent extends Student{ public void study(){ System.out.println(name+"在自学"); } } |