生病了一段时间,大家一定要多注意身体
-
接口可以多继承
-
JDK8开始,接口中新增了三种方法
-
默认方法:使用default修饰,使用实现类的对象调用
-
静态方法:static修饰,必须用当前接口名调用
-
私有方法:private修饰,jdk9开始才有的,只能在接口内部被调用
他们都会默认被public修饰
-
成员内部类是什么?如何创建其对象?
成员内部类就是类中的一个普通成员,类似普通成员变量、成员方法
创建:OutName.InName oi = new OutName().new InName();
Outer.Inner in = new Outer().new Inner();
in.setName("张三");
in.setAge(23);
in.show();
成员内部类的实例方法中,访问其他成员有啥特点?
1.可以直接访问外部类的实例成员、静态成员
2.可以拿到当前外部类对象,格式是:外部类名.this
- 匿名内部类:是一个内部类,但本质是当前类的一个子类,它同时也会立即创建出一个子类对象
作用和应用场景:1.可以更方便的创建出一个子类对象。
2.匿名内部类通常作为一个参数传输给方法。
new 类或接口(参数值...){
类体(一般是重写方法)
}
--------------------------------------------
new Animal(){
@Override
public void cry(){
}
};//分号千万别忘了!!!!
-
枚举
一种特殊类
其第一行,只能写一些合法的标识符(名称),多个名称用逗号隔开。
注意!!这些名称本质是常量
public enum Sex{
BOY,GIRL;
}
-
泛型
定义类、接口、方法时,同时声明了一个或多个类型变量(如),称为泛型类、泛型接口、泛型方法。
作用:泛型提供了在编译阶段约束所能操作的数据类型,并自动进行检查的能力。这样可以避免强制类型转换以及可能出现的异常。
**泛型的本质:**把具体的数据类型作为参数传给类型变量
类型变量用EKTV
通配符:?
泛型上下限:
泛型上限:? extends Car
?能接收的必须是Car或者其子类
泛型下限:? super Car
?能接收的必须是Car或者其父类