t修饰了的话,那么不能有方法体。
?接口中所有的都不能有实现的主体,
?相同:
?用abstract修饰的方法,以及接口里面的方法必须在子类或者实现接口类中实现
继承和实现接口对比
java里面是单继承的,也就是说一个类只能继承一个父类,这样的机制可以保证类的纯洁性,比C++里面的多继承机制简单,问题就是对子类功能扩展有一定影响;但是实现接口是可以实现多个接口的,一定程度是弥补了子类扩展的缺陷。
还有一点是继承是层级式的,倘若类1发生变化,那么类1下面的其他类都将受到影响,而接口可以避免这个问题,因为接口只对实现接口的类有作用,当然如果实现接口的类被其他子类继承了,那么实现接口类实现的接口方法在子类也是可以用的。比如在类1我实现了一个接口,那么类 2 3 4 5 都可以我类1实现的接口类方法;
final
?final可以修饰变量和方法
?使用final修饰的变量,必须在创建/声明的时候赋初值,并且是确定的;赋值后不能在更改。
?对于用final修饰的引用类型变量,java也是要求必须在声明时给予初始值。
final修饰的变量叫常量,final变量名命名
XXX_XXX_ZZZ
可能使用场景
?当不希望父类的某个方法被子类覆盖时候,用final修饰该方法
?当不希望类中变量被修改,用final修饰,同时必须初始化
?当不希望该类被继承 final class Akk{ }