1
.接口回调是什么
接口回调是指:可以把使用实现了某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例。
interface
People {
void
peopleList();
}
class
Student
implements
People {
public
void
peopleList() {
System.
out
.println(
"I’m a student."
);
}
}
class
Teacher
implements
People {
public
void
peopleList() {
System.
out
.println(
"I’m a teacher."
);
}
}
public
class
Example {
public
static
void
main(String args[]) {
People a;
//
声明接口变量
a =
new
Student();
//
实例化,接口变量中存放对象的引用
a.peopleList();
//
接口回调
a =
new
Teacher();
//
实例化,接口变量中存放对象的引用
a.peopleList();
//
接口回调
}
}
|
结果:
I’m a student.
I’m a teacher.
再来看看向上转型(
upcasting
)的概念。
2
.什么是向上转型
这里,创建了一个
Circle
对象,并把得到的引用立即赋值给
Shape
。通过继承,
Circle
就是一种
Shape
。
假设你调用基类方法(它已在导出类中被覆盖):
由于后期绑定(多态),将会正确调用
Circle.draw()
方法。
3
.
Java
中的跨类引用
在
java
里面
,
关于跨类引用
,
有两条规则应该记住
:
1
)如果
a
是类
A
的一个引用
,
那么
,a
可以指向类
A
的一个实例。或者说指向类
A
的一个子类,这是向上转型的情形。
2
)如果
a
是接口
A
的一个引用
,
那么
,a
必须指向实现了接口
A
的一个类的实例。这是接口回调的情形。
在
java
里面
,
向上转型是自动进行的
,
但是向下转型却不是
,
需要我们自己定义强制进行
.
class
B
extends
A{}
public
class
A {
public
static
void
main(String[] argts){
A a1=
new
A();
A a2=
new
B();
//Upcasting
B b1=
new
B();
B b2=(B)
new
A();
//DownCasting
}
}
|
4
.向上转型与接口回调的区别
从实现了某接口的对象,得到对此接口的引用,与向上转型为这个对象的基类,实质上效果是一样的。这些对象都可以调用基类型提供的方法,对于接口来说就是回调接口中的方法,对于父类来说就是调用父类的方法。当然在向上转型的情况下,还牵涉到子类重写(
Override
)父类方法的情形。
分享到:
相关推荐
java转型
学习Java之如何正确地向上转型与向下转型.rar
什么是向下转型和向上转型
在主类中people类的声明对象分别作为Chinapeople和Americanpeople类对象的上转型对象,并让这个上转型对象调用showname方法。编写一个people类,该类有string类型的成员变量firstname和lastname来存放people对象的...
17.2.1 回顾“向上转型”与“向下转型”.mp4
java数据类型,向上转型和向下转型定义与概念。
java向上转型.doc
广发证券长安汽车000625品牌向上筑牢盈利底座,转型构建全新壁垒共27页.pdf.zip
day10_20_对象的向上转型
向上转型和动态绑定机制.pdf
向上转型经典案例向上转型向上转型应注意的问题向上转型的好处静态方法的调用 经典案例 public class Animal { public void eat(){ System.out.println("animal eatting..."); } } public class Cat extends ...
主要介绍了 Java 向上转型和向下转型的详解的相关资料,需要的朋友可以参考下
Java基础精品课12-抽象类录屏1.向下转型和向上转型.mp4
主要介绍了Java向上转型和向下转型实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了浅谈Java中向上造型向下造型和接口回调中的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
通达信指标公式源码 强势股回调到位反向上.doc
主要介绍了简单了解Java多态向上转型相关原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java基础精品课12-抽象类录屏3.方法传参时完成向上转型.mp4
钢铁行业周报:库存持续向上,价格略有回调
}}///////////////////////////////////////////////////////////////////红字为向上转型的优点体