Java中抽象类和具体类的区别
在Java中,抽象是通过抽象类和接口实现的。抽象类包含抽象方法,子类需要实现这些方法。以下是抽象类和具体类之间的一些重要区别。
序号 | 关键点 | 抽象类 | 具体类 |
---|---|---|---|
1 | 支持的方法 | 抽象类可以同时具有抽象方法和具体方法。 | 具体类只能包含具体方法。即使只有一个抽象方法,也会使该类成为抽象类。 |
2 | 实例化 | 不能使用new关键字实例化抽象类。 | 可以使用new关键字实例化具体类。 |
3 | 抽象方法 | 抽象类可以有也可以没有抽象方法。 | 具体类不能有抽象方法。 |
4 | final关键字 | 抽象类不能声明为final类。 | 具体类可以声明为final类。 |
5 | 关键字 | 抽象类使用abstract关键字声明。 | 具体类声明时不使用abstract关键字。 |
6 | 继承 | 抽象类可以使用extends关键字继承另一个类并实现接口。 | 接口只能继承接口。 |
7 | 接口 | 抽象类不能单独实现接口。需要子类才能使用接口进行实例化。 | 接口可以很容易地实现。 |
抽象类与具体类的示例
public class JavaTester { public static void main(String args[]) { Cat lion = new Lion(); lion.eat(); } } abstract class Cat { abstract public void eat(); } class Lion extends Cat{ public void eat(){ System.out.println("Lion eats"); } }
输出
Lion eats
广告