抽象类

来源:互联网 发布:qt语言编程 编辑:程序博客网 时间:2024/05/22 13:46

抽象类抽象方法:


1.如何把Pet限制为不能实例化呢?

使用Java中的抽象类实现,用abstract来修饰Pet类。抽象类不能通过new 实例化。


抽象类和抽象方法的特点:

     (1)抽象类和抽象方法都通过abstract关键字来修饰。

(2)抽象类不能实例化。抽象类中可以没有、有一个或多个抽象方法,甚至全部方法都可以是抽象方法。

(3)抽象方法只有方法声明,没有方法实现。 有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方发才能实现,否则子类还是一个抽象类。


注意:

public void print(){}  不是抽象方法,而是有实现但实现为空的普通方法。

public abstract void print();   是抽象方法 ,别忘记最后的分好。

abstract 可以用来修饰方法,但不能用来修饰属性构造方法


2.抽象类可以有构造方法吗?

抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,若此构造方法不是由private修饰,也可以被本类的子类中的构造方法调用。



0 0