abstract这个方法修饰,主要用在抽象类和抽象方法.
抽象的类是不可实例化的例如
public abstract class Test{
}
他可以含有抽象的方法
public abstract class Test{
public abstract void defMethod();
}
抽象的方法是要让子类继承下去再定义它的,让抽象的概念得以设计。例如当一种面向对象设计遇到一种方法有多种设计的时候,可以在基类暂且不设计他,把设计的工作交给子类去完成,但子类设计时,要么继续继承他超类的抽象概念,要么就把抽象的方法定义出来。
例如
abstract class Test2 extends Test{
……..
}
仍然不定义超类的抽象方法,继续把这种抽象概念交给Test2的子类去完成。
class Test2 extends Test{
public void deMethod(){
}
}
继承Test,让抽象的概念得到设计。虽然在{}里没有任何语句,但这也表示我们为他做了一种设计,一种什么也不做的定义。如果要定义可以写在{}里。
总结:
在类中没有方法体的方法,就是抽象的方法。
含有抽象方法的类,即为抽象类。
如果一个子类没有实现抽象基类中所有的抽象方法,则子类也可以成为一个抽象的类。
我们可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象