Java基础-接口

1.接口

关键字:interface implements(实现接口)

接口的定义:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式

接口的用途:定义规范,接口定义某种功能的规范,当我们编写的某些类突然有一天需要某些新增的业务和功能时,这时只需要该类接口,重写接口的抽象方法,具备的该功能

语法格式:

package com.jk.k;

//定义接口
interface Person{
	//抽象方法
	public void eat();
}
//实现 
public class Demo01 implements Person{
	//重写接口方法
@Override
public void eat() {
	// TODO Auto-generated method stub
}
}

1.在接口定义属性默认带final static

2.在接口中定义方法abstract默认自带

3.jdk1.8新特性 可写方法体

package com.jk.k;

interface A{
	
	final static String Name="张三";
	//在接口定义属性默认带final static
	int AGE=6;
	
	public abstract void run();
	//在接口中定义方法abstract默认自带
	public void test();
	
	//jdk1.8新特性 可写方法体
	public default void eat() {
		System.out.println("方法体");
	}
}
public class Demo02 {

}

接口注意事项:

1.接口下面可以有成员属性,但是成员属性必须赋值 (被final static 修饰) 常量

2.接口下面的方法默认的是抽象方法(被abstract修饰)

3.接口下面不能有非抽象的方法

4.从jdk1.8以后,接口下面可以有带有方法体的方法,只不过这个方法是使用default修饰的方法

5.接口中没有构造方法,不能被实例化

6.一个类可以实现多个接口 class 类名 implements 接口1,接口2

package com.jk.k;
//爷爷类
interface A{
	public void test();
}

//接口可以继承接口  父类
interface B extends A{
	public void test1();
}
//孙子类
class C implements B{

	@Override
	public void test() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void test1() {
		// TODO Auto-generated method stub
		
	}
	
}
//实现两个接口  多实现
public class Demo03 implements A,B{

	@Override
	public void test1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void test() {
		// TODO Auto-generated method stub
		
	}

}

7.接口可以继承接口

interface A{
	
}
//接口继承接口
interface B extends A{
	//需重写父类方法
}

2.案例

电脑类:去实现以下的三个接口

​		电源接口

​		USB接口

​		网络接口

上面有三个接口,就是对对象电脑增加功能的

咱们有一个 电脑类 单独买一个电脑 给咱们预留了充电的接口 可以充电

预留了USB接口可以插u盘

预留了网络接口的话,就可以上网了         

电源接口

//电源接口
interface Adapter {
	public void input();
}

USB接口

//USB接口
interface USB {
	public void mouse();
}

网络接口

//网络接口
interface Net {
	public void internet();
}

电脑类 Computer:

class Computer implements Adapter, USB, Net{

	@Override
	public void internet() {
		// TODO Auto-generated method stub
		System.out.println("电脑联网");
	}

	@Override
	public void mouse() {
		// TODO Auto-generated method stub
		System.out.println("电脑连接鼠标");
	}

	@Override
	public void input() {
		// TODO Auto-generated method stub
		System.out.println("电脑充电");
	}

以上代码去实现接口需要 implements 关键字

实现类

public class Test {
	public static void main(String[] args) {
		Computer computer = new Computer();
		computer.mouse();
		computer.input();
		computer.internet();
	}

参考文章

Final: Final关键字

抽象类:Java抽象类

感谢阅读~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kkkouz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值