final关键字
用final关键字可以修饰方法,成员变量,方法,形参;
final修饰的类不能被继承(String Math),修饰的方法不能被重写,被修饰的成员变量一旦被赋值不可被更改,修饰的形参无法被修改
接口
1.弥补JAVA单继承,一个子类只能继承一个父类
2.接口是一个特殊的抽象类,用interface修饰
3.接口内的方法和成员变量默认使用public static abstract修饰,静态抽象,在定义时不需要写(默认具有)
4.类与接口之间用implement实现,一个类可以实现多个接口
5.接口与接口之间是继承关系,且可以多继承(主要继承方法)
6.接口实现多多态与类相似,也是父类指向子类
接口的定义
public interface Inter1{
//public static abstract 默认被隐藏
void play();
//只能被重写,不可有内容
default void myself(){
//jdk8.0以上接口允许有接口自己的普通方法不被重写
//可以有自己的内容
}
}
实现接口
子类可以实一个或多个接口
public class Test implement Inter1 (,Inter2){
@Override
public void play(){
System.out.println("被重写")
}
}
接口继承
接口可以多继承,接口之间是继承关系
public interface Inter2 exends Inter1 (,Inter3){
void method();
}
子类同时继承父类和实现接口(可多个)
public class Test extends Fu implement Inter1 (,Inter2){}
能用实现的地方就不要用继承(尽量使用接口)
只要两个类通过IS-A测试就可以使用继承
抽象类是一组类的模板,且不需要实例
接口担任的是一种角色(此角色应该具有功能(方法))
3instanceof关键字
判断某个对象是否是某个类型的对象