java多态和接口_Java笔记2(多态和接口)

1.多态(一种现象)

继承是多态的实现基础

多态:即对象的多种形态

1.引用多态

父类的引用可以指向本类对象

父类的引用可以指向子类对象

025c10a6cd0c110272100cabe1db1396.png

这就是引用多态

2.方法多态

创建本类对象时,调用的方法为本来的方法

创建子类对象时,调用的方法为子类重写的方法或继承的方法

2885cc35af46f71e9ef27a8d1a014818.png

二.接口

什么是接口呢???

接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成

如果说类是一种具体实现体,那么接口就是某些类所要遵循的规范,接口只是一种规范,不关心类的内部数据和方法实现的细节,它只规定类中必须有什么东西,是用来约束类的。用interface关键字定义接口

要注意的是接口一般都是用来被继承,被实现的。修饰符一般用public,不用protected和private修饰接口

15f0dbcc8b001ea55304111b67536492.png

接口中全是常量和抽象方法

801bd9ca79190f80a8775735dcbdf0e9.png

805f67140ee11f5d7bcba435523b502f.png

问题来了,怎么去使用接口呢??

一个类可以实现一个或多个接口,实现接口使用implements 关键字。。。我们知道Java中一个类只能继承一个父类,这样是不是很不灵活,那么就可以通过接口进行补充

c59527f4ef996cbc66538279d83ca842.png

这里需要 注意的是继承和接口的实现顺序是不能互换的,也就是必须先继承再实现接口,还有就是实现接口时,同样也要实现接口里的方法

下面看一个接口实现的例子

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//接口

packageClassDemo1;public interfaceIWatch {public voidwatch();

}//Woker类

packageClassDemo1;public class Woker implementsIWatch{

@Overridepublic voidwatch() {

System.out.println("我们都有一双明亮的眼睛");

}

}//Student类

packageClassDemo1;public class Student extends Person implementsIWatch{public voidsay() {

System.out.println("学生会说不同的语言");

}public voidwatch()

{

System.out.println("我们也有一双明亮的眼睛");

}

}//测试类、

packageClassDemo1;public classMain {public static voidmain(String[] args) {

IWatch i=new Woker(); //用接口引用指向实现接口的对象

IWatch j=newStudent();

i.watch();

j.watch();

}

}

View Code

另外附上测试结果

7880f326f6f7c7d2ce1b6ae0409de3cb.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值