Java抽象类和接口(二)

***************************接口*********************************

一.why


需求一直不变的时候可以不使用接口, 需求经常发生改变推荐使用接口...


软件产品中需求会经常改变,所以一般都要使用接口...


体现了可维护、可扩展的优点


二.什么是接口


一组规范的集合(包含属性规范、行为规范),用的最多的是行为规范..


USB插槽(实现) != 接口(规范、看不见摸不着的)


网络中的协议也是规范,相当于接口...

 

三.how 如何定义接口


使用关键字 interface


public interface 接口名 {

//属性

//方法
}


注意:

1. 接口中的方法都是 抽象方法

public abstract

即使程序员 没有写 public 或 abstract 编译器编译的时候也会帮你补全这两个关键字


public interface Teacher{

void teach();
}

2. 接口中的属性都是 public static final的

即使程序员不写这几个关键字 编译器也会帮你补全

都是静态常量


演示代码:

Teacher.java

package com.chapter9.演示接口;

public interface Teacher {

//1.属性
public static final String TARGET = "teach";
//2.行为
public void teach();

public void dianMing();
}


JavaTeacher.java

package com.chapter9.演示接口;

//实现类
//实现接口要实现接口的所有方法
public class JavaTeacher implements Teacher{

@Override
public void teach() {
System.out.println("我在讲java");

}

@Override
public void dianMing() {
System.out.println("我在点名");

}

public static void main(String[] args) {

Teacher jt = new JavaTeacher();

jt.teach();
}
}

***************************接口的若干知识点*********************************


1. java这门语言是单继承, 为了模拟多重继承,可以使用接口,一个类可以实现多个接口来模拟多重继承


举例: JavaTeacher 既可以实现Teacher这个接口 又可以实现程序员这个接口

 

2. 接口可以扩展接口吗?


可以. 接口可以扩展 多个接口


举例: 高级厨师(规范)


1. 厨师(规范)

2. ArtMan(规范)

3. HealthMan(规范)


多个小的规范组成一个大的规范,接口可以扩展多个接口


3. 接口可以实现接口吗???

不可以. 因为 实现接口 要实现接口的所有抽象方法, 实现了抽象方法以后 该类

就带有已经实现的方法了,就不能再定义成接口了...

 


***************************JDK8关于接口的新特性: 带有实现的类方法和默认方法*********************************


接口中的方法都是抽象方法


public interface Teacher {

//1.属性
public String TARGET = "teach";
//2.行为
public void teach();

//带有实现的类方法
public static void dianMing(){
System.out.println("我在点名");
}

//默认方法
default public void exam(){
System.out.println("给学生考试");
}
}

 

转载于:https://www.cnblogs.com/MrTanJunCai/p/9906790.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值