Java开发基础语法(接口如何定义和实现)
程序员文章站
2024-01-20 16:13:58
Java–接口如果一个抽象类中的所有方法都是抽象的,则可以将这个类定义为Java中的另一种形式——接口。接口是一个特殊的抽象类,它不能包含普通方法,其内部的所有方法都是抽象方法,它将抽象进行的更为彻底。jdk8中,对接口进行了重新定义,接口中除了抽象方法外还可以有默认方法(使用default修饰)和静态方法(使用static修饰),并且这两种方法允许有方法体。在定义接口时,使用interface关键字来声明接口定义语法:[修饰符] interface 接口名[extends 父接口1,父接口2....
Java–接口
如果一个抽象类中的所有方法都是抽象的,则可以将这个类定义为Java中的另一种形式——接口。
接口是一个特殊的抽象类,它不能包含普通方法,其内部的所有方法都是抽象方法,它将抽象进行的更为彻底。
jdk8中,对接口进行了重新定义,接口中除了抽象方法外还可以有默认方法(使用default修饰)和静态方法(使用static修饰),并且这两种方法允许有方法体。
在定义接口时,使用interface关键字来声明
接口定义语法:
[修饰符] interface 接口名[extends 父接口1,父接口2...]{//同时可以继承多个父接口,解决类的单继承的限制 [public] [static] [final] 常量类型 常量名 = 常量值; [public] [abstract] 方法返回值类型 方法名([参数列表]); [public] default 方法返回值类型 方法名([参数列表]){ //方法体 } [public] static 方法返回值类型 方法名([参数列表]){ //方法体 } }
静态方法可以通过“接口名.方法名”的形式来调用,而抽象方法和默认方法只能通过接口实现类的实例对象来调用。
因此需要定义一个接口的实现类,该类通过implements关键字实现当前接口并且实现接口中的所有抽象方法。
定义接口的实现类语法:
[修饰符] class 类名 [extends 父类名] [implements 接口1,接口2,...]{ }
示例
interface Animal { int ID = 1;// 定义全局常量 void breathe();// 定义抽象方法breathe // 定义一个默认方法 default void getType(String type) { System.out.println("该动物属于:" + type); } // 定义一个静态方法 static int getID() { return Animal.ID; } } class Dog implements Animal { // 实现breathe方法 public void breathe() { System.out.println("狗在呼吸"); } } public class Example13 { public static void main(String[] args) { System.out.println(Animal.getID()); // 通过接口名调用类方法 Dog dog = new Dog(); // 创建Dog类的实例对象 System.out.println(dog.ID); // 在实现类中获取接口全局常量 dog.breathe(); dog.getType("犬科"); } }
升级版
interface Animal { int ID = 1;// 定义全局常量 void breathe();// 定义抽象方法breathe // 定义一个默认方法 default void getType(String type) { System.out.println("该动物属于:" + type); } // 定义一个静态方法 static int getID() { return Animal.ID; } } //定义了LandAnimal接口,并继承了Animal接口 interface LandAnimal extends Animal { void run();// 定义抽象方法run() } class Dog implements LandAnimal { // 实现breathe方法 public void breathe() { System.out.println("狗在呼吸"); } public void run() { System.out.println("狗在陆地上跑"); } } public class Example14 { public static void main(String[] args) { System.out.println(Animal.getID()); // 通过接口名调用类方法 Dog dog = new Dog(); // 创建Dog类的实例对象 System.out.println(dog.ID); // 在实现类中获取接口全局常量 dog.breathe(); dog.getType("犬科"); dog.run(); } }
一个类在继承一个类的同时还可以实现接口,此时,extends关键字必须位于implements关键字之前。
class A extends B implements C{//先继承再实现 }
一个类在继承一个类的同时还可以实现接口,此时,extends关键字必须位于implements关键字之前。
class A extends B implements C{//先继承再实现 }
本文地址:https://blog.csdn.net/qq_45938466/article/details/108232961
上一篇: javaee项目开发案例教程(适合大学生做的java项目)
下一篇: 千玺集团发布机器人餐饮战略