继承的作用:class A extends B
1.提高代码复用性;
2.让类与类之间产生关系,体现多态的特性。
---------------------------------------------------------------------------------------------------------------
子类A除了父类B的构造方法外,所有的成员变量与成员方法会继承父类B;
private修饰的变量和方法虽被继承,但无法被访问,若要访问父类private成员,需父类提供访问方法
注意:final修饰的类,方法,变量均不能被继承
因为final修饰的类和方法不可被覆盖,修饰的变量为常量不可被修改
---------------------------------------------------------------------------------------------------------------
对于抽象类的理解:
1.abstract class C{ };
2.抽象方法;
3.不可用new创建对象,无意义;
4.由子类复写所有抽象方法后建立所有子类对象以调用,若只覆盖部分抽象方法,则该子类也为抽象类。
---------------------------------------------------------------------------------------------------------------
对于覆盖的理解:
1.静态方法只能覆盖静态方法;
2.子类权限必须高于父类权限。
---------------------------------------------------------------------------------------------------------------
接口:interface A{ }
interface B extendsA{ }
class C implements A
接口中的成员:
变量均默认为:public static final
方法:public abstract
接口特点:
是对外暴露的规则;
是程序的功能扩展;
是用来多实现;
类与接口是实现关系,类是单继承;
接口之间有继承关系;
降低了耦合性。
---------------------------------------------------------------------------------------------------------------
fianl:
可修饰类,方法,变量
不可被继承,覆盖
局部内部类只能访问被final修饰的局部变量