面向对象有三个特性:封装、继承、多态
关于继承相关知识点:
一、继承优点:
1、提高代码复用性,提高开发效率。
2、继承的出现让类与类之间产生了关系,提供了多态的前提。
二、继承需要注意问题:
1、在Java中,类只支持单继承,不允许多继承(只有一个父亲),多继承涉及安全问题
class A{}
classB{}
class Cextends A,B{} // C类不可以同时继承A类和B类
2、多个类可以继承一个父类(一个父亲多个儿子)
class A{}
class Bextends A{}
class Cextends A{} // 类B和类C都可以继承类A,支持多层继承,C同时拥有AB的属性和方法,B只拥有A的属性和方法
3、在Java中,多层继承是可以的(爷爷、爸爸、儿子的关系)
class A{}
class Bextends A{} // 类B继承类A,类B是类A的子类
class Cextends B{} // 类C继承类B,类C是类B的子类,同时也是类A的子类
4、在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。
三、继承用extends关键字
this关键字代表的是本类对象的引用
super关键字代表的是父类对象的引用(在子类中若要访问父类中的成员变量,必须使用关键字super来完成)
四、方法的重写和方法的重载之间的区别
重载:方法名一样,参数列表不同,同一个类的事情
方法的重写override:子类中,出现了和父类一模一样的方法的时候,子类重写父类的方法,覆盖
五、方法的重写注意事项:
1、子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
2、写法上稍微注意:必须一模一样:方法的返回值类型 方法名 参数列表都要一样。
总结:当一个类是另一个类中的一种时,可以通过继承,来继承属性与功能。如果父类具备的功能内容需要子类特殊定义时,进行方法重写。