【java】兴唐第十八节课


1、java接口的关键字:implements,可实现多个接口,接口接口之间使用逗号分隔。
注:
继承只能继承一个,接口可以实现多个

2、在接口里所有的方法都是抽象方法,不用关键字abstract修饰。

3、接口不能定义变量,必须定义常量

4、抽象方法的访问权限必须使用public,即使省略public关键字,默认类型也是public

5、默认方法只能被实现类调用
代码实现

public default void descTypec() {
	System.out.println("typec 自我介绍!");
	}

6、把所有接口和父类的抽象方法引入可以点击出错的地方然后 点击有Add的那个选项。

7、如果想生成一个interface可以直接将class改为interface .

8、如果在父类抽象方法里实现了接口,则在子类里无需再实现。

9、接口定义语法为
访问权限控制符 interface 接口名 [extends 接口列表]

10、接口只能包含常量(public static final)、抽象方法和内部类。

11、通过extends关键字可以使自定义接口实现继承,但接口只能继承父接口。

12、接口回调:接口声明实现类实例化,此对象只能调用声明接口的方法。
代码实现:

NFC nfc = new IPhoneX();

13、接口类可以直接使用接口中的常量
注意:
接口实现类所实现的接口有常量名相同的常量,在实现类中不能直接使用,必须用类名来确定到底是哪一个接口的常量。

14、默认方法和静态方法:
用default修饰的方法,是默认方法。
用static修饰的是静态方法
其余的方法都是抽象方法

15、如果接口内只有一个抽象方法则称该接口为函数式接口。
在这里插入图片描述注意:
记住比较的维度,具体区别靠理解。

16、instancesof运算符
功能:判断前面对象对应的类是否为后面的类或者其子类、接口实现类创建的对象。如果是返回true不是则返回false;
代码实现:

Student stu = new Student();
//返回true
System.out.println("is Student类:" + (stu instanceof Student));

17、instanceof 的作用
代码实现:

if(obj instanceof Student) 
//判斷obj 是否为Student 类或者Student 的子类
Student stu = (Student) obj;

分析:如果不判断直接将obj转化为Student将会报错
java.lang.ClassCastException

练习内容
1、

  • 调用接口中的默认方法
    代码实现:

NFC.java

public default void sayHello() {
	System.out.println("hello world");	
	}

Main.java

iphone.sayHello();

2、

  • 接口回调 + Instanceof 的使用
    代码实现:
NFC nfc = new Iphone();
		
if(nfc instanceof NFC) {
	nfc = (NFC) nfc;
			
	nfc.ePay();		
}

3、

  • 接口里常量的定义
    代码实现:
public static final String NAME = "NFC";

注:
1、static 和 public的顺序无所谓
2、调用常量必须在实现该接口的类里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值