芜湖那里帮人做销售网站,用ps软件做ppt模板下载网站有哪些,惠州网站小程序建设点,phpcms做网站页面开发当一个类实现一个接口时#xff0c;必须提供接口中定义的所有方法的具体实现#xff0c;除非这个类是抽象类。默认方法#xff1a;default修饰接口中的方法#xff0c;可实现方法体#xff0c;在实现接口的类中可以不重写该方法
// 定义一个接口#xff0c;接口不关心方…当一个类实现一个接口时必须提供接口中定义的所有方法的具体实现除非这个类是抽象类。默认方法default修饰接口中的方法可实现方法体在实现接口的类中可以不重写该方法
// 定义一个接口接口不关心方法的具体实现
interface Camera { //访问权限默认是是publicvoid takePhotos(); // 默认是abstract方法default void video(){ // 默认方法jdk1.8后新增可带有方法体System.out.println(video);}static void stop(){ // 静态方法jdk1.8后新增可带有方法体System.out.println(stop working);}
}// 实现接口的类
class Phone implements Camera {Overridepublic void takePhotos() {System.out.println(The phone takes photos.);}Overridepublic void video(){Camera.super.video();}
}// 实现接口的另一个类
class Watch implements Camera {Overridepublic void takePhotos() {System.out.println(The watch takes photos.);}
}// 测试代码
public class Main {public static void main(String[] args) {Camera camera new Phone();camera.takePhotos();Watch watch new Watch();watch.takePhotos();Camera.stop();}
}
多接口中重名默认方法 如果一个类实现了多种接口并且接口中通含有重名默认方法那么该类需要重写自己的方法如果一个类继承了父类且实现了多个接口并且父类和接口中都有重名的默认方法那么将会调用父类的方法。 接口的继承如果两个爹中有重名方法就谁也不用自己重写。
interface Animal {void eat();
}interface CanRun {void run();
}interface CanSwim {void swim();
}interface Amphibian extends CanRun, CanSwim {void jump();
}class Frog implements Amphibian {Overridepublic void eat() {System.out.println(Frog is eating.);}Overridepublic void run() {System.out.println(Frog is running.);}Overridepublic void swim() {System.out.println(Frog is swimming.);}Overridepublic void jump() {System.out.println(Frog is jumping.);}
}public class Main {public static void main(String[] args) {Frog frog new Frog();frog.eat(); // 输出Frog is eating.frog.run(); // 输出Frog is running.frog.swim(); // 输出Frog is swimming.frog.jump(); // 输出Frog is jumping.}
}