真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java多態(tài)的使用方法是什么

本篇內(nèi)容主要講解“Java多態(tài)的使用方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java多態(tài)的使用方法是什么”吧!

10年的廣安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整廣安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“廣安網(wǎng)站設(shè)計”,“廣安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

一.再探向上轉(zhuǎn)型(upcasting)

  將某個object reference視為一個“reference to base type“的動作,稱為向上轉(zhuǎn)型。

1.  Upcasting后調(diào)用某個函數(shù)時,如果derived class中覆寫了該函數(shù),則會調(diào)用derived class中的函數(shù);否則,會調(diào)用base class中的函數(shù)。如

class First{

  public void prt(){

  System.out.println("First");

  }

}

class Second extends First{

  //(a)

  public void prt(){

  System.out.println("Second");

  }

}

public class ExplicitStatic{

  public static void main(String[] args){

  First n = new Second();

  n.prt();;

  }

}

結(jié)果為Second。如果當Second class中的prt()函數(shù)注釋掉,將輸出First。

2.  向上轉(zhuǎn)型后只能調(diào)用base class中被derived class覆寫的函數(shù)。

/*

abstract class First{

  int i = 122;

  public void prt(){

  System.out.println("First.i = " + i);

  }

  public abstract void prt(First f);

}

 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

class Second extends First{

  public void prt(){

   System.out.println("Second.i = " + i);

  }

  public void prt(First i)

  {

  }

  public void prt(int i)

  {

  }

}

public class ExplicitStatic{

  public static void main(String[] args){

  First n = new Second();

  n.prt(2);;

  }

}

*/

class First{

  public void prt(){

  System.out.println("First");

  }

}

class Second extends First{

  //(a)

  public void prt(){

  System.out.println("Second");

  }

  public void prt(int i){//(a)

  System.out.println("Second.i = " + i);

  }

}

public class ExplicitStatic{

  public static void main(String[] args){

  First n = new Second();

  n.prt(3);

  }

}

(a)處的函數(shù)只是Second class中的函數(shù),所以不能通過n.prt(3)進行調(diào)用。

二.Abstract class和Abstract methods

1.  如果一個class中存在abstract class,則class也必須被聲明為abstract class。

2.  abstract class不能被實例化。

3.  如果base class是一個abstract class,那么derived class必須實現(xiàn)base class中所有的abstract methods;否則,derived class也必須被聲明為abstract class。

三.其它要點

1.  純粹繼承與擴充

純粹繼承:只有base class所建議的函數(shù),才被derived class加以覆寫。

擴充:除了覆寫base class的函數(shù),還實現(xiàn)了自己的函數(shù)

  abstract class First{

  public abstract void f();

  public abstract void g();

}

//純粹繼承

class Second extends First{

  public void f(){}

  public void g(){}

}

//擴充

class Third extends First{

  public void f(){}

  public void g(){}

  public void u(){}//base class不存在的函數(shù)

}

2.  向下轉(zhuǎn)型

1)  向下轉(zhuǎn)型時只能調(diào)用base class中被覆寫過的函數(shù)

2)  只有本來就為derived class對象時才能正確向下轉(zhuǎn)弄。

class First{

  public void f(){}

  public void g(){}

}

class Second extends First{

  public void f(){}

  public void g(){}

  public void u(){}

  public void v(){}

}

public class ExplicitStatic{

  public static void main(String[] args){

   First[] x = {new First(), new Second()};

  x[0].f();

  x[1].g();

  //!x[1].u();class First中不存在函數(shù)u()

  //((Second)x[0]).f();(a)

  ((Second)x[1]).u();

}

  }

  (a)處會拋出ClassCastException異常。

到此,相信大家對“Java多態(tài)的使用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


當前標題:Java多態(tài)的使用方法是什么
當前路徑:http://weahome.cn/article/pcechd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部