必威体育Betway必威体育官网
当前位置:首页 > IT技术

JAVA接口的定义和使用

时间:2019-10-14 09:15:31来源:IT技术作者:seo实验室小编阅读:82次「手机版」
 

java接口

我们知道知道java中只支持单继承,但如果我们想定义一些功能,想让一个子类都继承实现,没办法做到,所有Java提供了接口这个概念,这样我们就可以用一个子类去实现多个接口。我们可以理解为接口就是特殊的抽象类

接口可以包括数据成员,但是数据成员必须是常量,其值一旦被初始化后,是不允许修改的,这些数据成员通常为全局变量

为了避免在接口中添加新方法后要修改所有的实现类,接口中允许定义默认方法(default方法)。

定义接口需要使用关键字interface

定义接口实例:

interface A{ //定义一个接口

public static final String message=”HelloWorld”; //全局常量

public abstract void print(); //定义抽象方法

default public void otherprint(){ //定义可以带方法体的默认方法

System.out.println(“默认方法”);

}  

}

接口中成员属性默认是public static final修饰,成员方法是public abstact修饰,所以上述定义可以简写

代码演示:

interface A{ //定义一个接口

String MESSAGE=”HelloWorld”; //全局常量

void print(); //定义抽象方法

default void otherprint(){ //定义可以带方法体的默认方法

System.out.println(“默认方法”);

}

}

接口使用原则:

1.接口必须有子类,子类依靠implements关键字可以同时实现多个接口;

2.接口的子类(如果不是抽象类)必须实现接口之中的全部抽象方法;

3.接口可以利用对象多态性,利用子类实现对象的实例化

4.接口和普通的类一样,本身也有数据成员和方法,但数据成员一定要初始赋值,并且此值不能再有修改,定义的方法可以有抽象方法和默认方法,抽象方法abstact关键字可以省略,默认方法需要带上default关键字,默认方法可以带有方法体。

5.默认方法的调用和普通方法的调用一样

接口的使用:

我们来举个例子,定义一个抽象类People,一个普通子类Student,两个接口。子类Student继承父类People,并实现接口Study,Write

代码演示:

//构建一个抽象类People

abstract class People{

//父类属性私有化

private String name;

private int age;

//提供父类的构造器

public People(String name,int age){

this.name = name;

this.age = age;

}

//提供获取和设置属性的getter()/setter()方法

public String getName() {

return name;

}

public int getAge() {

return age;

}

public void setName(String name) {

this.name = name;

}

public void setAge(int age) {

this.age = age;

}

//提供一个抽象方法

public abstract void talk();

}

//定义一个接口

interface Study{

//设置课程数量为3

int COURSENUM = 3;

//构建一个默认方法

default void stu(){

System.out.println(“学生需要学习”+COURSENUM+”门课程”);

}

}

//再定义一个接口

interface Write{

//定义一个抽象方法

void print();

}

//子类继承People,实现接口Study,Write

class Student extends People implements Study,Write{

//通过super关键字调用父类的构造器

public Student(String name, int age) {

super(name, age);

}

//实现父类的抽象方法

public void talk() {

System.out.println(“我的名字叫”+this.getName()+”,今年”+this.getAge()+”岁”);

}

//实现Write接口的抽象方法

public void print() {

System.out.println(“学生会写作业”);

}

}

public class InterfaceDemo{

public static void main(String[] args) {

//构建student对象

Student student = new Student(“dodo”, 22);

//调用父类的抽象方法

student.talk();

//调用接口Write中的抽象方法

student.print();

//调用接口Study中的默认方法

student.stu();

}

}

接口的实现:类名 implements 接口名,有多个接口名,用“,”隔开即可。

相关阅读

JqGrid 表格插件 使用

这里主要记录一些关于Jg Grid 插件的使用经验: 对于Jquery 的Grid 插件,原本并没有接触过,是由于公司业务上要对原有项目根据现有需

【小程序】block标签的介绍和使用

转自:https://blog.csdn.net/qq_36530458/article/details/79778373<block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做

python编程基础:图形库之Pillow使用方法

PIL vs Pillow PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Clark等

SQLPrompt 激活使用

 

excel怎么使用乘法函数

在excel的函数中,最为基础的莫过于是加减乘除,那么,今天小编就教你们乘法函数的运用。excel乘法函数使用的步骤:1、A1*B1=C1的Excel乘

分享到:

栏目导航

推荐阅读

热门阅读