C/C++ 指標與 Java 引用\n
指標
在 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 = &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 更加安全和健壯。引用僅可以引用物件或為 null。
Java 中沒有指標強制型別轉換在 C/C++ 中,我們可以將 int* 轉化為 char*,但在 Java 中,只有相關的物件才能被強制型別轉換,例如相同層次的物件。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式語言
C++
C#
MongoDB
MySQL
Javascript
PHP