Java面向对象高级
1.接口(interface):
它是一个特殊的抽象类,它只能声明常量与抽象方法。
规则:
接口中默认的方法都是 public abstract
接口中默认的常量都是 public static final
注意:
接口不能实例化
接口指向它实现类的对象(多态中父类引用指向子类的对象)
接口在实际应用中,就是一种规范(模板),只关注系统所要使用的方法,而无需关注如何实现(细节)
一个类可以实现一个或多个接口
一个类可以在继承另一个类的同时实现一个或多个接口
接口可以使用方法的定义和实现相分离,降低模块间的耦合性
语法:
public interface person{
//常量
//public static final int a = 10;
// 吃饭的方法
public abstract void eat();
//睡觉
public abstract void sleep();
//打游戏
public abstract void game();
}
注意:实现类会实现接口中的所有抽象方法
public class PersonImpl implements Person {
@Override
public void eat() {
System.out.println("eat......");
}
@Override
public void sleep() {
System.out.println("sleep......");
}
@Override
public void game() {
System.out.println("game......");
}
}
//、、、、、、、、测试类、、、、、、、、、\\
public class TestPersonImpl{
public void method(Person p){
p.eat();
}
public person method1(){
person person = new PersonImpl();
return person;
}
}
public static void main(String[] args){
TestPersonImpl testpersonimpl = new TestPersonImpl();
person p = new PersonImpl;
testpersonimpl.method(p);
Person pp = testPersonImpl.method1();
pp.game();
}