抽象类特点
1、抽象方法必须定义在抽象类中
2、抽象类的抽象方法没有方法体
3、抽象类中有构造函数
4、抽象类中可以定义有方法体的方法
5、抽象类不能直接实例化
6、一个类只能继承一个抽象类
接口类特点
1、接口中没有构造方法
2、接口中的方法也是抽象的,不能有方法体,默认抽象方法abstract省略
3、接口不能直接实例化
4、接口中定义的方法体必须全部实现,不能漏
5、接口方法的修饰符必须是public、static、final都是默认修饰符,其它都不可修饰接口定义的方法体
6、一个类可以实现多个接口
static关键字
1、static是和类一起共存的,不管生成多少个实例,所有实例都共享static数据
2、static修饰的方法只能继承,不能重写static方法
3、如果子类声明了一个同样的方法,此时隐藏了父类的static方法,子类和父类的static方法互补影响
4、父类的普通方法,子类重写,加上static关键字也是不可行的
5、静态代码块static{ } 是java虚拟机加载类的时候就开始执行
6、静态方法可以访问静态变量,不能访问非静态变量,非晶态方法可以访问静态变量和非静态变量
final关键字
1、final修饰的方法不能被继承
2、final修饰的类不能有子类,不可继承,不可重写
3、final修饰的关键字,基本数据类型不可改变,引用数据类型引用不可改变,但是可以改变其引用对象的属性值
4、final可以在声明赋值,也可以在后面赋值,但是一定要能赋值
5、Object是所有类的基类,String是final,不可被继承