微信搜索《Java鱼仔》,每天一个知识点不错过
(一)每天一个知识点
抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?
(二)结论
抽象类不必须有抽象方法,但如果一个类包含抽象方法,则该类必须是抽象类。
抽象类不能用final修饰,因为抽象类必须被继承,而被final修饰的类不能被继承。
(三)再多学一点
虽然几乎每个程序员都知道抽象类,但是实际开发中抽象类对大多数人来说就只是一个概念,用到的机会很少。理由也很简单,抽象类是抽取共性需求而来的,即使没有抽象类,对业务的实现也没有影响。但是如果合理应用抽象类,能增强代码的重用性,更加有效地解决复杂需求。
继续回到题目:抽象类必须要有抽象方法吗?
当然不必须有,甚至于一个抽象类可以没有任何一个抽象方法,这个类除了不能被实例化之外,和普通的类几乎没有任何区别。
但是如果一个抽象类中有抽象方法,那么他的子类必须要实现抽象方法。
第二个问题:抽象类可以使用final修饰吗?
当然不可以,通过理解抽象类的作用我们就发现了,抽象类必须要被继承,如果用final修饰抽象类,这个抽象类就无法被继承,自然就无法使用了。