我有一个空类(没有属性和方法),声明时没有关键字“abstract”,但它有一个子类。它是一个抽象类还是只是一个简单的父类。
public class Vehicle{ }
uklbhaso1#
空类不一定是抽象类。要使Java类成为抽象类,必须使用abstract关键字将其声明为abstract。下面是Java教程中有关抽象类的一些文档:https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html抽象类是允许有抽象方法的类。抽象方法是声明时没有实现的方法。抽象类的任何子类本身不是抽象的,必须实现抽象方法。在您给出的示例中,类Vehicle在其类声明中没有“abstract”修饰符,因此类Vehicle不是abstract。你可能会问:“为什么Java有抽象类?”抽象类的一个用例是在AWT(“abstract window toolkit”)框架中,java.awt.Graphics和java.awt.Graphics2D类都是抽象的。java.awt.Window类有一个paint方法,它接受一个Graphics示例,这个方法由java.awt.Frame和javax.swing.JFrame继承。Graphics类通常用于小程序、AWT应用程序和Swing应用程序中。这是一些关于抽象类的额外信息。
Vehicle
6ie5vjzr2#
Vehicle不是抽象类,因为您可以示例化它,而不是抽象类(编写new Vehicle()时不需要额外的定义)。
new Vehicle()
2条答案
按热度按时间uklbhaso1#
空类不一定是抽象类。
要使Java类成为抽象类,必须使用abstract关键字将其声明为abstract。
下面是Java教程中有关抽象类的一些文档:https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html
抽象类是允许有抽象方法的类。抽象方法是声明时没有实现的方法。抽象类的任何子类本身不是抽象的,必须实现抽象方法。
在您给出的示例中,类
Vehicle
在其类声明中没有“abstract”修饰符,因此类Vehicle
不是abstract。你可能会问:“为什么Java有抽象类?”
抽象类的一个用例是在AWT(“abstract window toolkit”)框架中,java.awt.Graphics和java.awt.Graphics2D类都是抽象的。
java.awt.Window类有一个paint方法,它接受一个Graphics示例,这个方法由java.awt.Frame和javax.swing.JFrame继承。
Graphics类通常用于小程序、AWT应用程序和Swing应用程序中。
这是一些关于抽象类的额外信息。
6ie5vjzr2#
Vehicle
不是抽象类,因为您可以示例化它,而不是抽象类(编写new Vehicle()
时不需要额外的定义)。