public abstract class 抽象类 {
//抽象类中也可以有抽象方法
public abstract void test();
//非抽象方法
public static int demo() {
return 1;
}
}
-------------------------- 普通类和抽象类有哪些区别-----------------------------
-
普通类不能包含抽象方法,抽象类可以包含抽象方法。
-
抽象类不能直接实例化,普通类可以直接实例化。
抽象类不能使用 final 修饰 ?
答:不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类,如下图所示,编辑器也会提示错误信息:
抽象方法也不能用final
接口和抽象类有什么区别?
-
实现:抽象类的子类用 extends 来继承;接口必须使用 implements 来实现接口。
-
构造函数:抽象类有构造函数;接口不无。
-
main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。
-
实现数量:类可以实现很多个接口;但是只能继承一个抽象类。
-
访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。