国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java中引用,造型等問題解析

2019-11-18 13:23:52
字體:
來源:轉載
供稿:網友

  作者:chris譯
  
   或許大家java的多態問題,對上溯,下溯造型有了一定的概念,對PRotected和private大家想必也很清楚,但是,這幾個個結合在一起,往往令人產生很多困惑,在這里,我舉一個例子,大家或許會發覺這篇文章對你來說還是很有意義的:
  

  例子一共有兩個class. 可能出現困惑的地方我都會在后面一一解釋.A是父類,B繼續A,并且實現了protectedTest(Object obj)方法.如下面所示:
  


  

B.java的源代碼:


  

package cn.org.matrix.test;

   import cn.org.matrix.test.A;

   /**

   * <p>Title: protect, private and upcasting </p>

   * <p>Description: email:chris@matrix.org.cn</p>

   * <p>Copyright: Matrix Copyright (c) 2003</p>

   * <p>Company: Matrix.org.cn</p>

   * @author chris

   * @version 1.0,who use this example pls remain the declare

   */

   public class B extends A

   {

   protected int protectedb = 0;

   protected int protectedab = 0;

  


  

protected void protectedTest(Object obj)

   {

   System.out.println("in B.protectedTest(Object):" + obj);

   }

   }

  


  



   A.java的源代碼:


  

package cn.org.matrix.test;

   import cn.org.matrix.test.B;

   /**

   * <p>Title: protect, private and upcasting </p>

   * <p>Description: email:chris@matrix.org.cn</p>

   * <p>Copyright: Matrix Copyright (c) 2003</p>

   * <p>Company: Matrix.org.cn</p>

   * @author chris

   * @version 1.0,who use this example pls remain the declare

   */


  

public class A

   {

   protected int protecteda = 0;

   protected int protectedab = 0;

   private void privateTest()

   {

   System.out.println("in A.privateTest()");

   }

   protected void protectedTest(Object obj)

   {

   System.out.println("in A.protectedTest(Object):" + obj );

   }

  

   protected void protectedTest( String str )

   {

   System.out.println("in A.protectedTest(String):" + str);

   }

  

   public static void main (String[] args)

   {

   // Test A

   A a1 = new A();

   a1.privateTest();

   // Test B

   String helloStr = "Hello";

   Object helloObj = helloStr;

   B b1 = new B();

   A a2 = b1; // 這里發生了什么?困惑1

   b1=a1; //編譯錯誤,困惑2

   b1. privateTest(); //編譯錯誤,困惑3

   b1.protectedTest(helloObj); //輸出結果?困惑4

   b1.protectedTest(helloStr); //編譯錯誤,困惑5

   a2.protectedTest(helloObj); //輸出結果? 困惑6

   a2.protectedTest(helloStr); //輸出結果?困惑7 ?

   }

   }

  


  



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定日县| 德江县| 扎鲁特旗| 剑阁县| 湖北省| 凭祥市| 来宾市| 古蔺县| 庆城县| 维西| 新郑市| 葵青区| 曲阜市| 定安县| 金寨县| 巴彦县| 江华| 澄迈县| 奎屯市| 阳高县| 青神县| 嘉定区| 雷山县| 霸州市| 肥西县| 安阳市| 扶沟县| 铜陵市| 锡林浩特市| 廊坊市| 申扎县| 和平县| 钟祥市| 连山| 花垣县| 连江县| 绵竹市| 牟定县| 陕西省| 辽阳县| 陈巴尔虎旗|