谁能给我解释什么是多态性(JAVA)?

Jason_guo 2002-02-14 09:37:32
最好举个例子说明,多谢多谢!!!
...全文
700 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcshcn 2002-05-03
  • 打赏
  • 举报
回复
运行时确定具体调用哪个类的方法
我会的也是其它语言的,估计差不多
qxjavajava 2002-05-02
  • 打赏
  • 举报
回复
多态就是override and overload

timeoutz 2002-05-02
  • 打赏
  • 举报
回复
类程序:
public class Dd {
private int i;
private Sring a="没有值";

public dd(int i) {this.i=i;}
public dd(int i,String a) {this(i);this.a=a;}

pubilc String get_result() {
return "i="+i+"a="+a;



}

调试程序:
public class TestDd {
public static void main(String args[]) {
Dd aa=new Dd(1);
Dd bb=new Dd(1,"就是这样");
System.out.println(aa.get_result());
System.out.println(bb.get_result());

}
}




肖尧19 2002-05-02
  • 打赏
  • 举报
回复
其实我觉得在这里说几句话还是没有书说得清楚

还是看看thinking in java怎么写的吧

142页 第7章 多形性
tojike 2002-05-02
  • 打赏
  • 举报
回复
靠!NB!俺不懂,只好虚心学习了,哪个把我准备听课的小板凳拿走了?丧尽天良啊~~~~~~:)
xxlroad 2002-02-17
  • 打赏
  • 举报
回复
我就会点vb5.0
只能踢你一下了
mingtian 2002-02-15
  • 打赏
  • 举报
回复
class father {
  void amethod() {
    System.out.println("father.amethod()");
  }
}

class son {
  void amethod() {
    System.out.println("son.amethod()");
  }
}

public class Test {
  public static void main(String args[]) {
    father f1, f2;
    son s = new son();
    f1 = new father();
    f2 = s;

    f1.amethod();  //print father.amethod()
    f2.amethod();  //print son.amethod()
  }
}

以上f1、f2声明时都是father类对象,不同的是f2实际上指向了一个son对象,运行时f2.amethod()会调用子类son里定义的amethod()方法而不是father里的,这就是多态性的表现和作用。
我不懂电脑 2002-02-14
  • 打赏
  • 举报
回复
就是程序在运行的时候才能确定要调用的对象。
用抽象方法实现:父类定义方法,子类实现方法。
wjyasd 2002-02-14
  • 打赏
  • 举报
回复
Greenberet(百萬石),jabmoon(刺月)说的比较详细了。
在OO的程序设计中多态的概念大致就是这个样子了,只不过在不同的语言中有一些不同的表现形式吧!

我还是看书去吧…… :)
jabmoon 2002-02-14
  • 打赏
  • 举报
回复
不过,JAVA的我就不太明白了,我说的是delphi的。
jabmoon 2002-02-14
  • 打赏
  • 举报
回复
你问的这个问题有一点点大呀,简单一点说吧:
多态性是允许将父对象设置成为和一个和多个它的子对象相等的技术,比如Parent:=Child;
赋值之后,父对象就可以根据当前赋值给它的子对象的特性已不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。
举个例子:从一个基类中派生,响应一个虚命令,产生不同的结果。
比如从某个积累继承出多个对象,其积累有一个虚方法Tdoit,然后其子类也有这个方法,但行为不同,然后这些子对象中的任何一个可以附给其基类的对象,这样其基类的对象就可以执行不同的操作了。实际上你是在通过其基类来访问其子对象的,你要做的就是一个赋值操作。
kimryo 2002-02-14
  • 打赏
  • 举报
回复
FAINT,Java的不懂.
Jason_guo 2002-02-14
  • 打赏
  • 举报
回复
Greenberet(百萬石):
难以明白,可以说得通俗一点吗?
Greenberet 2002-02-14
  • 打赏
  • 举报
回复
//转贴

什么是多态性(polymorphism)?


使用继承性的结果就是可以创建一个类的家族,在认识这个类的家族时,就是把导出类的对象 当作基类的的对象,这种认识又叫作upcasting。这样认识的重要性在于:我们可以只针对基类写出一段程序,但它可以适 应于这个类的家族,因为编译器会自动就找出合适的对象来执行操作。这种现象又称为多态性。而实现 多态性的手段又叫称动态联编(dynamic binding)。
wgku 2002-02-14
  • 打赏
  • 举报
回复
倒。。。我是学VB的,帮你UP吧:)
Jason_guo 2002-02-14
  • 打赏
  • 举报
回复
难道没有人肯帮帮我?

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧