JavaSE总结(2)继承、多态、接口
一、继承:
(1)当我们要定义一个类时,发现已经有一个相似的类,或者是已有类的一种时,那么我们就将这个类定义为已有类的子类,继承父类的非私有的属性和功能;
(2)当多个类有共同的属性和功能时,我们可以把他们共同的地方抽取成一个新类,新的类和原来的类产生的关系叫做继承。
二、方法重写:
当子类出现与父类方法(名称、返回值类型、参数列表)都一致时,会出现子类覆盖父类的效果。
方法重写的注意事项
1.可以使用@Override来验证是否是方法重写
2.子类方法的访问权限要大于等于父类方法的访问权限
public >默认
3.子类方法覆盖父类方法,返回值类型、函数名和参数列表都要一模一样。
4.私有方法不能被重写(父类私有成员子类是不能继承的)
三、继承的特点:
1.只支持单继承 不支持多继承(接口与接口支持多继承)支持多层继承
2.所有的类都有父类 每个类都默认继承自Object类 Object类没有父类
四、this和super:
this调用本类构造方法,super调用父类构造方法。
必须写在构造方法的第一行。
五、抽象的定义:
如果一个方法只有方法声明,没有方法主体,我们叫做抽象方法;
有抽象方法的类,就是抽象类。
注意事项:
1.抽象类不能创建对象;
2.抽象类必须要有构造方法,要给子类创建对象的时候使用;
3.抽象类不一定有抽象方法,可以有具体方法,但有抽象方法一定是抽象类;
4.有子类继承,必须重写所有的抽象方法。
六、权限修饰符:
public:同一类中、同一包中(子类和无关类)、不同包中(子类和无关类)
protected:同一类中、同一包中(子类和无关类)、不同包中(子类) //不能修饰类
默认(空的):同一类中、同一个包(子类和无关类)
private:同一类中 //不能修饰类
七、final:
final修饰类 不能被继承
final修饰方法 不能被重写
final修饰变量 只能赋值一次 不能2次赋值
八、多态:
同一行为,不同表现形式。
(1)前提:继承或者实现;
(2)方法重写;
(3)父类引用指向子类对象。
九、多态访问特点:
成员变量
编译看父类,运行看父类
成员方法
编译看父类,运行看子类(不能调用子类私有方法)
十、接口:
一种引用类型,方法的集合。
十一、接口的特点:
1.接口不能创建对象
2.定义实现类(子类)实现接口
public class 实现类 implements 接口{
}
3.实现类重写接口中所有抽象方法
4.创建实现类对象 调用方法
十二、接口的成员特点:
成员变量------>常量(默认使用public static final修饰。)
成员方法--------->抽象方法(默认修饰符public abstract)
接口没有构造方法
十三、抽象类和接口:
(1)接口和抽象类都不能创建对象,必须有子类或者实现类来继承和实现,而且必须重写所有的抽象方法;
(2)抽象类有构造方法,接口没有。
(3)抽象类可以有非抽象方法,接口默认都是抽象方法。