国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java中的多態(tài)用法實例分析

Java中的多態(tài)用法實例分析

2019-12-16 13:28司青 JAVA教程

這篇文章主要介紹了Java中的多態(tài)用法,較為詳細(xì)的分析了java中多態(tài)的概念與相關(guān)的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java中的多態(tài)用法。分享給大家供大家參考。具體分析如下:

多態(tài),是面向?qū)ο蟮某绦蛟O(shè)計語言最核心的特征。封裝性、繼承性都比較簡單,所以這里只對多態(tài)做一個小小的筆記。。。

1、什么是多態(tài)?

多態(tài)意味著一個對象可以多重特征,可以在特定的情況下,表現(xiàn)出不同的狀態(tài),從而應(yīng)對不同的屬性和方法。在Java中,多態(tài)的實現(xiàn)指的是使用同一個實現(xiàn)接口,以實現(xiàn)不同的對象實例。

例如,我們定義一個Parent類,再定義一個getName()方法返回一個字符串,定義一個形參為Parent類型的成員方法doSomething(Parent obj),在這個方法中調(diào)用obj.getName()。然后再定義兩個類A和B,都從Parent類繼承而來,在子類中重寫getName()方法。最后在main方法中創(chuàng)建一個Parent類的對象objP,調(diào)用objP.doSomething()方法并向其傳遞class A,和class B 的引用。觀察輸出結(jié)果。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Parent
{
  private String name = "parent";
  public String getName()
  {
    return this.name;
  }
  public void doSomething(Parent obj)
  {
    //輸出類名
    System.out.println(obj.getName());
  }
  public static void main(String[] args)
  {
    Parent objP = new Parent();
    objP.doSomething(new A());
 // 傳遞A的引用,則調(diào)用的是A類的getName方法
    objP.doSomething(new B());
 // 傳遞B的引用,則調(diào)用的是B類的getName方法
  }
}
class A extends Parent
{
  private String name = "class A";
  //@重寫getName()方法
  public String getName()
  {
    return this.name;
  }
}
class B extends Parent
{
  private String name = "class B";
  //@重寫getName()方法
  public String getName()
  {
    return this.name;
  }
}

Java中的多態(tài)用法實例分析

可見,父類的doSomething方法多態(tài)地調(diào)用了我們傳遞的對象的getName方法,而不是Parent類本身的getName方法。

2、Java中的接口

Java中的接口,是一系列方法的聲明。一個接口只有方法的特征,而沒有方法的實現(xiàn)。這些方法可以從別處通過特定的類來實現(xiàn)。在Java中,用關(guān)鍵字interface來聲明一個接口。

用接口實現(xiàn)多態(tài)的實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
interface Name
{
  //只聲明,不實現(xiàn)
  public String getName();
}
class A implements Name
{
  private String name = "class A";
  //實現(xiàn)getName方法
  public String getName()
  {
    return name;
  }
}
class B implements Name
{
  private String name = "class B";
  //實現(xiàn)getName方法
  public String getName()
  {
    return name;
  }
  public static void main(String[] args)
  {
    Name obj = new A();
    System.out.println(obj.getName());
  }
}

Java中的多態(tài)用法實例分析

可以看到,打印出了類A的名字class A。

PS:一個類如果沒有實現(xiàn)接口中的所有方法,那么這個類必須被聲明為abstract(抽象的)。一個abstract類是不允許實例化對象的。

希望本文所述對大家的java程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩欧美视频一区二区 | 国产综合中文字幕 | 在线国产一区二区 | 欧美精品一二三区 | 久久国产精品免费一区二区三区 | 国产婷婷精品 | 91一区二区| 亚洲精品影院 | 亚洲精品欧美 | h漫在线观看 | 久久精品无码一区二区三区 | 黄色影片免费观看 | 五月天一区二区 | 日韩激情一区二区 | www.99精品 | 日韩精品视频在线 | 午夜免费福利影院 | 欧美成年人网站 | 蜜桃成人在线 | 日韩在线观看一区 | 久久久久久亚洲精品 | 日本免费视频 | 欧美精品综合 | 精品人成| 91看片淫黄大片一级在线观看 | 成人在线一区二区 | 久久色av| 国产精品久久久久aaaa九色 | 高清一区二区三区日本久 | 91亚色| 互换娇妻呻吟hd中文字幕 | 秋霞电影院午夜伦 | 一级片一级片 | 91免费在线播放 | 欧美成人精品一区二区男人看 | 欧美亚洲三级 | 亚洲 欧美 国产 制服 动漫 | 一区二区不卡 | 69久久| 欧美综合久久 | 亚洲成av人影片在线观看 |