当前位置: 移动技术网 > IT编程>开发语言>Java > Java开发基础语法(接口如何定义和实现)

Java开发基础语法(接口如何定义和实现)

2020年08月01日  | 移动技术网IT编程  | 我要评论
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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网