C/C++ 指標與 Java 引用


指標

在 C、C++ 程式語言中,指標是指向另一個變數地址的變數。

示例

#include <iostream>
using namespace std;
 
int main() {
   //int variable
   int i = 8;

   //pointer variable
   int * pI;

   //assign the address of i to its pointer
   pI = &amp;i;

   //print the number
   cout<<i<<endl;

   //print the address of the number
   cout<<pI<<endl;

   //print the value pointed by pointer
   count<<*pI<<endl;

   //change the value of variable using its pointer
   *pI = 10;

   //print the number
   cout<<i<<endl;
}

輸出

8
0x7fee1ae7bc94
8
10

引用

在 java 程式語言中,引用是引用物件的變數,使用它我們可以利用物件的屬性和功能。

示例

演示

public class Tester {
   public static void main(String[] args) {
      Student student = new Student();        
      student.setName("Mahesh");
      System.out.println(student.getName());    
   }
}

class Student {
   String name;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

輸出

Mahesh

指標和引用的區別

以下是 C/C++ 指標和引用的部分區別。

  • Java 中沒有指標運算。指標是儲存地址,並且指標指向變數的儲存地址。在 C/C++ 中,可以增加/減少指標指向新地址,但在 Java 中,不允許對引用進行算術運算。

  • Java 中沒有指標操作。 儘管引用在內部使用指標,但 Java 不允許使用引用變數對底層指標進行任何操作。它使 Java 更安全、更健壯。引用只能引用一個物件或為空。

  • Java 中沒有指標型別轉換。在 C/C++ 中,我們可以將 int* 轉換為 char*,但在 Java 中,只有相關的物件可以進行型別轉換,例如同一層次結構的物件。

更新於: 18-6-2020

2 千 次瀏覽

助力你的 事業

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.