抽象类必须要有抽象方法吗?
- 不需要,示例如下
public abstract class Test {
public static void hello(){
System.out.println("hello");
}
}
普通类和抽象类有哪些区别?
- 普通类不能包含抽象方法,抽象类可以包含抽象方法。
- 抽象类不能直接实例化,普通类可以直接实例化。
抽象类能使用 final 修饰吗?
- 不能,定义抽象类就是让其他类继承的,如果定义为final 该类就不能被继承,彼此就会产生矛盾。
接口和抽象类有什么区别
- 实现:抽象类的子类通过 extends 来继承;接口使用 implements 来实现接口
- 构造函数:抽象类可以有构造函数,接口不能有
- 实现数量:类可以实现很多个接口,但只能继承一个抽象类
- 访问权限:接口中的方法默认使用public权限,抽象类中的方法可以是任意访问修饰符