Java多态的理解
来源:互联网 发布:vb与vs的区别 编辑:程序博客网 时间:2024/04/30 13:41
Java的多态性:
1、面向对象的三大特性:继承、封装 、多态;继承和封装几乎都是为对台而准备的
2、多态性:指的是允许不同类的对象对统一消息作出响应,即同一消息可以根据发送对象的不同而有不同的行为方式。
3、实现多态性的技术:动态绑定(dynamic binding),指在程序运行时根据实际所引用对象的实际类型而调用其响应的方法。
在多态中主要涉及技术:
1、继承
2、父类对象引用子类对象(JAVA的向上转型)
3、重写
3、Java继承中的重写的优先级(this.a() > super.a())
例子:
class A{
void say(){
System.out.println("say: I am A");
}
void tellA(){
System.out.println("tellA: I am A");
}
}
class B extends A{
void say(){
System.out.println("say: I am B");
}
void tellB(){
System.out.println("tellB: I am B");
}
}
class C extends A{
void say(){
System.out.println("say: I am C");
}
void tellC(){
System.out.println("tellC: I am C");
}
}
public class PolDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
SayWhoIsU(new A());
SayWhoIsU(new B());
SayWhoIsU(new C());
TellWhoIsU(new A());
TellWhoIsU(new B());
TellWhoIsU(new C());
}
public static void SayWhoIsU(A a)
{
a.say();
}
public static void TellWhoIsU(A a)
{
a.tellA();
}
}
输出:
say: I am A
say: I am B
say: I am C
tellA: I am A
tellA: I am A
tellA: I am A
0 0
- java多态的理解
- Java 多态的理解
- JAVA多态的理解
- java多态的理解
- java多态的理解
- 理解java的多态
- JAVA多态的理解
- java多态的理解
- java多态的理解
- java多态的理解
- java 多态的理解
- Java多态的理解
- java多态的理解
- java多态的理解
- java多态的理解
- Java多态的理解
- Java多态的理解
- java多态的理解
- 七大经典算法之冒泡排序
- Junit4学习笔记
- 英雄联盟之策略很重要
- java 读取properties文件 ---封装组件
- Myeclipse下的hibernate配置
- Java多态的理解
- Code Forces 592 C. The Big Race(数论)
- Codevs_P2185 最长公共上升子序列(LCIS)
- 第25篇 jQuer快速学习(上)---选择器和DOM操作
- 基于CLGeocoder - 反地理编码
- 哔哩哔哩视频解析
- DevExpress.XtraTreeList.TreeList + Winform + Access2013 使用实例(一)
- 黑马程序员——Foundation框架——NSMutableArray常用方法
- Java程序员的现代RPC指南