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

首頁 > 編程 > C++ > 正文

java和c++比較(1)--虛函數和指針

2019-11-18 14:34:19
字體:
來源:轉載
供稿:網友
  
1.java中有虛函數,但是沒指針,那也許會有這樣的問題,那java是怎么實現多態的?
java中可以肯定是有虛函數的,而且我們假如不申明為final形他默認就是虛函數.不用vitual申明.
"In Java, you do not need to declare a method as virtual. Dynamic binding is the default behavior. If you do not want a method to be virtual, you tag it as final"--from <core java2 :volum I>.
java中沒顯示的和c++中的指針,但是他有地址的概念的.而且所有我們申明的"對象"其實就是地址(或叫句柄),給他賦值就是把他指向一個內存單元.當然也可以改變他的指向.其實我們"對象"的賦值操作全是地址在變東,對象還是沒有變的.那也許有人會說那樣的話不是會產生很多沒有"對象"(句柄)的內存區域.是的是會產生,但是java的垃圾收集機制會給我們回收這樣的內存"泄漏".所以我們只關心我們操作的對象就行,其他的我們不用的對象的后事垃圾收集會給我們干.
明白了在java中的"對象"而非我們c++中理解的對象.而實際上是指針(句柄)那多態當然可以實現.
下面舉個"對象"賦值(引用)的例子說明,全是地址在變,而非真的內存單元.
public class Number {
   PRivate int number;

   public Number( int number ) {
      this.number = number;
   }

   public int getNumber() {
      return this.number;
   }

   public void setNumber( int number ) {
      this.number = number;
   }

   public static void main( String[] args ) {
      Number one = new Number( 1 );
      Number two = new Number( 2 );
      System.out.println( "Beginning: " );
      System.out.println( "One = " + one.getNumber() );
      System.out.println( "Two = " + two.getNumber() );

      // Assign two to one
      two = one;//在這里two這個句柄的值(即某個對象的地址)改成one這個句柄的值了.從而two和one指同時//向one以前指向的那個內存單元(對象).而two 以前指向的那個對象現在為沒有句柄連接的對象了.可能要被垃圾收集
      System.out.println( "/nAfter assigning two to one: " );
      System.out.println( "One = " + one.getNumber() );
      System.out.println( "Two = " + two.getNumber() );

      // Change the value of two
      two.setNumber( 3 );//two和one指向同一個單元,所以他對改單元的改變,one能感知.
      System.out.println( "/nAfter modifying two: " );
      System.out.println( "One = " + one.getNumber() );
      System.out.println( "Two = " + two.getNumber() );
   }
}
運行結果:
Beginning:
One = 1
Two = 2
After assigning two to one:
One = 1
Two = 1
After modifying two:
One = 3
Two = 3
Press any key to continue...
java新手和學習c++的一點感受,如有不對之處,還望指出.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 周口市| 渭源县| 西峡县| 习水县| 林口县| 会泽县| 饶河县| 运城市| 丁青县| 泽普县| 峨眉山市| 泗洪县| 宣汉县| 望江县| 漳浦县| 鹤峰县| 清水县| 佛教| 阿拉尔市| 玛曲县| 天门市| 丰镇市| 靖边县| 辽宁省| 缙云县| 沁源县| 察雅县| 司法| 基隆市| 兴国县| 思南县| 古田县| 邯郸市| 德格县| 吴桥县| 谢通门县| 驻马店市| 屏南县| 德阳市| 新巴尔虎右旗| 丰顺县|