抽象类
abstract class Animal { //抽象方法
abstract int shout(); //抽象方法
}
抽象方法不可被实例化,需要创建一个子类,在子类中将抽象类的抽象方法实现
接口
所有方法都是抽象的抽象类叫做接口
//接口
interface Animal {
int ID = 10; //接口中定义的属性默认使用public static final来修饰,即全局变量
void breathe(); //接口中定义的抽象方法默认使用public abstract来修饰
void run();
}
//实现类
class Dog implements Animal {
public void breathe() {
System.out.println("呼吸");
}
public void run() {
System.out.println("跑");
}
}
//测试
...
Dog dog = new Dog();
dog.breathe();
dog.run();
...
注意
1)接口可以继承接口
2)当一个类实现接口时,就是实现接口中的全部方法,除非这个类为抽象类
3)一个类通过implement可以实现多个接口,一个类通过extends可以继承多个接口,一个类可以同时继承(先)和实现(后)