Java抽象类
抽象方法:使用abstract关键字修饰的方法,没有方法体,抽象方法只能使用public 或者protected修饰。
public abstract void fun();
抽象类:
使用abstract关键字修饰的类
包含抽象方法的类是抽象类
抽象类可以不包含抽象方法
抽象类只能被继承,不能自己创建实例
一个类只能继承一个抽象类
abstract class Person{
abstract void fun();
abstract void sleep();
}
并且子类继承抽象类必须实现抽象类的所有抽象方法
抽象类可以有构造器,但是抽象类自己不能构造实例。
抽象类的构造器用于被子类调用。与继承父类先调用父类构造器一样
接口
接口使用interface修饰,接口里面包含的方法不能有方法体。
实现接口必须实现接口里面所有的方法。实现接口用implements关键字
interface Person{
public void fun();
public void sleep();
}
接口可以被多继承,即一个类可以继承多个接口
default修饰的普通方法:
在接口中用default定义的方法可以有方法体:
interface Person{
public void fun();
public void sleep();
default void eat() {
System.out.println("吃东西");
}
}
static修饰的静态方法:
可以直接使用接口.方法名调用
interface Person{
public void fun();
public void sleep();
default void eat() {
System.out.println("吃东西");
}
static void run(){
System.out.println("跑步");
}
}