final
final 的意思就是最终的,不能被改变的。
final 修饰属性,表示属性不能被修改, 例如 public final int i =8; 假如一个类修改 i =8,着也是不允许的。
final 可以修饰形参 例如 这个方法的定义 public void speak(final int i){ }
final 修饰方法,表示这个方法不能被重写。
final 修饰类,这个类不能被继承。
abstract修饰类 是抽象类,抽象类不能被实例化,一个抽象类可以有普通方法,可以没有抽象方法。
abstract 修饰方法为抽象方法,public abstract class +类名 ,一个类中只要有抽象方法,这个类必须声明为抽象类,抽象类没有方法体,是用来被重写的。
abstract 不能修饰属性。
abstract 类就是继承用的,不继承这个类就没有什么用处。如果一个类继承了abstract类,就必须重写父类中的抽象方法,一般方法可以不重写。
interface
interface其实也是一个类,只不过这个类特殊,重新给定义了一个新的类型为 interface,接口类中是不可能有构造方法的。
interface类中的属性的修饰必须而且只能为 public static final 修饰。
interface类中的方法都没有方法体,而且这些方法修饰符必须为 public void。其实这些方法都是abstract方法。
interface 可以像类的继承一样,一个类实现一个接口,就必须重写这个类中的所有方法,接口和实现接口类中有 多态 的存在。
接口和接口之间可以继承,一个接口可以继承另外一个接口!!