पॉइंटर्स
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++ पॉइंटर्स और संदर्भों के बीच कुछ अंतर निम्नलिखित हैं।
-
जावा में कोई सूचक अंकगणित नहीं है। पॉइंटर्स मेमोरी एड्रेस होते हैं और एक पॉइंटर एक वैरिएबल के मेमोरी एड्रेस की ओर इशारा करता है। C/C++ में, एक नए पते को इंगित करने के लिए एक सूचक को बढ़ाया/घटाया जा सकता है लेकिन जावा में, संदर्भों पर अंकगणितीय संचालन की अनुमति नहीं है।
-
जावा में कोई पॉइंटर मैनिपुलेशन नहीं हालांकि एक संदर्भ आंतरिक रूप से एक सूचक का उपयोग करता है लेकिन जावा एक संदर्भ चर का उपयोग करके अंतर्निहित सूचक को किसी भी हेरफेर की अनुमति नहीं देता है। यह जावा को अधिक सुरक्षित और मजबूत बनाता है। एक संदर्भ किसी वस्तु को संदर्भित कर सकता है या केवल शून्य हो सकता है।
-
जावा में पॉइंटर्स की कोई कास्टिंग नहीं C/C++ में, हम int* से char* कास्ट कर सकते हैं, लेकिन Java में, केवल संबंधित ऑब्जेक्ट्स को ही कास्ट किया जा सकता है। समान पदानुक्रम की वस्तु।