抽象类抽象方法:
1.如何把Pet限制为不能实例化呢?
使用Java中的抽象类实现,用abstract来修饰Pet 类。抽象类不能通过new 实例化。
抽象类和抽象方法的特点:
(1)抽象类和抽象方法都通过abstract 关键字来修饰。
(2)抽象类不能实例化。抽象类中可以没有、有一个或多个抽象方法,甚至全部方法都可以是抽象方法。
(3)抽象方法只有方法声明,没有方法实现。 有抽象方法的类必须声明为抽象类。子类必须重写所有的抽象方发才能实现,否则子类还是一个抽象类。
注意:
public void print(){} 不是抽象方法,而是有实现但实现为空的普通方法。
public abstract void print(); 是抽象方法 ,别忘记最后的分好。
abstract 可以用来修饰类和方法,但不能用来修饰属性和构造方法。
2.抽象类可以有构造方法吗?
抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,若此构造方法不是由private修饰,也可以被本类的子类中的构造方法调用。