java抽象方法必须在抽象类吗

JAVA抽象类中是否一定要有抽象方法

抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。

抽象类还有抽象方法的一些注意事项

1.抽象类不能创建对象,如果创建对象,编译无法通过,且报错。只能创建非抽象子类的对象。(假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义)

2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。(子类的构造方法中,有默认的super(),需要访问父类的构造方法)

3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。(未包含抽象方法的类,目的是不想让调用者创建该类对象,通常用于某些特殊的类结构设计)

4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错,除非子类也是抽象类。(假设不重写所有抽象方法,则该类中可能包含抽象方法,那么创建对象后,调用抽象的方法,没有意义).

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发

请登录后发表评论