抽象类:
当定义一个类时,常常需要定义方法来描述类的特征,但有时这些方法现方式是无换确定的。
不包含方法体的方法为抽象方法,抽象方法使用abstract关键字修饰。
abstract void shout();
包含抽象方法的类必须声明为抽象类,但抽象类可以不包含任何抽象方法,只需要abstract关键字来修饰即可。
abstract class AAC{ abstract void ab(); } abstract class AAB{ public void ab(){ } }
抽象类是不可以被实例化的。子类实现了父类的抽象方法后,可以正常实例化。并通过实例化对象调用方法。
接口:
如果一个抽象类中所有方法都是抽象的,则可以将这个类用另外一种方式定义,即接口。
interface AA{ int id=1; void stop(); void run(); }
因为接口中包含默认修饰符:
接口中定义的方法默认使用 public abstract 来修饰,即抽象方法。
接口中变量默认使用 public static final来修饰,即全局变量。
原文:https://www.cnblogs.com/yanghe123/p/10896463.html