您的位置:首页 > 编程语言 > Java开发

Java多态的理解

2015-12-05 11:35 375 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息