谁能跟我说几个JAVA多态,在现实生活中应用的例子,不要说代码和概念,就只说案例

谁能跟我说几个JAVA多态,在现实生活中应用的例子,不要说代码和概念,就只说案例,第1张

有一个比较经典的多态实例:

有一个Animal类,它有Cat,和Dog两个子类,在Animal中有个say方法,当Cat调用这个方法的时候输出的是“小猫喵喵喵”,当Dog调用这个方法时,输出的是“小狗汪汪汪”,这就是Java多态的实现。

1、定义一种动物,该类型的动物有叫的属性。

2、分别定义猫,狗,鸟,都继承于该动物,都有叫的属性。

3、分别表示出各个具体小动物的叫声,例如猫的叫声:喵、狗的叫声:汪、鸟的叫声:咻,点是叫声,实现各个具体小动物用的叫声的方法是用的同一个函数名称,就是动物的叫声函数。

多态:

这个案例网上是没有的,属于无忌独创,当时在帮孩子辅导作业,小学科学,里面有一点内容是关于人的牙齿,说牙齿分为:门齿、犬齿、臼齿。

问闺女,为什么这么分呢?闺女说牙齿虽然都是用来咬食物,但是食物种类很多,咬碎需要的工具也不一样,门齿用来切割食物,如:苹果、梨;犬齿用来撕碎食物。

如肉类;臼齿用来磨碎食物,如犬齿撕碎的肉类,就需要再用臼齿来磨碎,然后送到食道,胃,小肠,大肠进行消化。我恍然大悟,这不就是Java面向对象里的多态吗?多完美啊。

这也很好说明了为什么会有多态出现,因为生活中就存在太多这种例子,所以需要多态来匹配解决。

多线程实际上就是多个线程同时运行,至于那个先完成是不能确定的。

* @author Rollen-Holt 实现Runnable接口

* */

class hello implements Runnable {

 public hello() {

 }

 public hello(String name) {

     this.name = name

 }

 public void run() {

     for (int i = 0i <5i++) {

         System.out.println(name + "运行     " + i)

     }

 }

 public static void main(String[] args) {

     hello h1=new hello("线程A")

     Thread demo= new Thread(h1)

     hello h2=new hello("线程B")

     Thread demo1=new Thread(h2)

     demo.start()

     demo1.start()

 }

 private String name

}

可能运行结果:

class A{

public int add1(int x,itn y){

return x+y

}

static public int add2(int x,int y){

return x+y

}

}

只给你举了两个小例子,一种是类方法,另一种是静态方法,我们调用的时候就应该注意,

比如调用add1,

int X=new A.add1(2,3)

必须要用类名来调用,而静态方法

int X=add2(2,3)这是可行,至于为什么,我还没研究过,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/11286655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存