1、 override规则
返回值类型 方法名 (参数表)都要相同 +访问修饰符?
1、子类方法修饰符的范围要大于等于父类
public protected default private
大---------------------------------->小
2、如果返回值存在子父类的情况,子类方法的返回值范围要小于等于父类方法的返回值类型
3、子类方法声明的异常范围要小于等于父类方法声明的异常
private修饰的方法不构成覆盖的(没有语法错误,就是不构成覆盖)
final修饰的方法不能构成覆盖的,语法有错
static 修饰的方法不构成覆盖,没有语法错误
private static int i= 4;
final static private int j = 5;
public defalut final abstract ====>能修饰类
抽象方法:方法只有定义,没有实现.
public void f();=======>没有实现 不等于空实现
public void f(){}=======>空实现
2、抽象类不一定含有抽象的方法,只要声明该类为abstract就可以.
3 扩展类必须要覆盖抽象类中所有的抽象的方法,否则,自身也成为一个抽象类.
4 private /final /static abstract void f(); 非法的
5 抽象类不能被实例化,只能引用子类的对象.===向上造型 + 动态绑定
6 抽象类作为参数或返回值类型. ***
7 抽象类可不可以有构造函数?可不可以有抽象的构造函数?
8 普通类所具有的属性,抽象类同样具有.
9 抽象类可以继承普通类吗?
1 接口:纯抽象类.是类能够什么的合约,只给出了方法的定义,没有具体的实现.体现的是can-do like-a关系.
它隐含就是abstract.
如果一个类实现了某接口,我们就说,这个类具备接口所定义的功能.从语法角度来说,可以看成继承.
2 接口里面定义的成员变量:默认都是public static final (abstract)
接口里面定义的成员方法:默认都是public (abstract) ====子类覆盖(重写)时,方法的修饰符要注意
3 接口是可以多继承的.一个接口可以继承一个或多个接口.
4 接口可不可以继承另一个或多个类?
5 接口不能实现另一个接口?
6 一个类可以继承另一个类,同时实现另一个或多个接口
7 接口不能被实例化,只能引用实现了这个接口的(子)类的对象
8 接口里面可不可以含有构造函数.
9 final/static/private/protected void f(); 非法的
10 如何解决单接口多实现的问题====>适配类 MouseAdapter KeyAdapter
11何时使用抽象类和接口?
12抽象类和接口的区别?
13接口作为返回值 参数
返回值类型 方法名 (参数表)都要相同 +访问修饰符?
1、子类方法修饰符的范围要大于等于父类
public protected default private
大---------------------------------->小
2、如果返回值存在子父类的情况,子类方法的返回值范围要小于等于父类方法的返回值类型
3、子类方法声明的异常范围要小于等于父类方法声明的异常
private修饰的方法不构成覆盖的(没有语法错误,就是不构成覆盖)
final修饰的方法不能构成覆盖的,语法有错
static 修饰的方法不构成覆盖,没有语法错误
private static int i= 4;
final static private int j = 5;
public defalut final abstract ====>能修饰类
抽象类: eg水果 交通工具,体现的是is-a关系
1、含有抽象方法的类就是抽象类抽象方法:方法只有定义,没有实现.
public void f();=======>没有实现 不等于空实现
public void f(){}=======>空实现
2、抽象类不一定含有抽象的方法,只要声明该类为abstract就可以.
3 扩展类必须要覆盖抽象类中所有的抽象的方法,否则,自身也成为一个抽象类.
4 private /final /static abstract void f(); 非法的
5 抽象类不能被实例化,只能引用子类的对象.===向上造型 + 动态绑定
6 抽象类作为参数或返回值类型. ***
7 抽象类可不可以有构造函数?可不可以有抽象的构造函数?
8 普通类所具有的属性,抽象类同样具有.
9 抽象类可以继承普通类吗?
1 接口:纯抽象类.是类能够什么的合约,只给出了方法的定义,没有具体的实现.体现的是can-do like-a关系.
它隐含就是abstract.
如果一个类实现了某接口,我们就说,这个类具备接口所定义的功能.从语法角度来说,可以看成继承.
2 接口里面定义的成员变量:默认都是public static final (abstract)
接口里面定义的成员方法:默认都是public (abstract) ====子类覆盖(重写)时,方法的修饰符要注意
3 接口是可以多继承的.一个接口可以继承一个或多个接口.
4 接口可不可以继承另一个或多个类?
5 接口不能实现另一个接口?
6 一个类可以继承另一个类,同时实现另一个或多个接口
7 接口不能被实例化,只能引用实现了这个接口的(子)类的对象
8 接口里面可不可以含有构造函数.
9 final/static/private/protected void f(); 非法的
10 如何解决单接口多实现的问题====>适配类 MouseAdapter KeyAdapter
11何时使用抽象类和接口?
12抽象类和接口的区别?
13接口作为返回值 参数