Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ बनाम जावा में स्थिर कीवर्ड

C++ या Java में हम static कीवर्ड प्राप्त कर सकते हैं। वे ज्यादातर समान हैं, लेकिन इन दोनों भाषाओं के बीच कुछ बुनियादी अंतर हैं। आइए, C++ में स्टैटिक और Java में स्टैटिक के बीच अंतर देखें।

स्थिर डेटा सदस्य मूल रूप से जावा और सी ++ में समान होते हैं। स्थिर डेटा सदस्य वर्ग की संपत्ति हैं, और इसे सभी वस्तुओं के साथ साझा किया जाता है।

उदाहरण

public class Test {
   static int ob_count = 0;
   Test() {
      ob_count++;
   }
   public static void main(String[] args) {
      Test object1 = new Test();
      Test object2 = new Test();
      System.out.println("The number of created objects: " + ob_count);
   }
}

आउटपुट

The number of created objects: 2

उदाहरण

#include<iostream>
using namespace std;
class Test {
   public:
      static int ob_count;
      Test() {
         ob_count++;
      }
};
int Test::ob_count = 0;
int main() {
   Test object1, object2;
   cout << "The number of created objects: " << Test::ob_count;
}

आउटपुट

The number of created objects: 2

स्थिर सदस्य कार्य करता है - C++ और Java में हम स्टैटिक मेंबर फंक्शन बना सकते हैं। ये भी उस वर्ग के सदस्य हैं। कुछ प्रतिबंध भी हैं।

  • स्थिर विधियाँ केवल कुछ अन्य स्थिर विधियों को ही कॉल कर सकती हैं।
  • वे केवल स्थिर सदस्य चरों तक पहुंच सकते हैं
  • वे 'यह' या 'सुपर' (केवल जावा के लिए) तक नहीं पहुंच सकते

C++ और Java में, कुछ ऑब्जेक्ट बनाए बिना स्थिर सदस्यों तक पहुँचा जा सकता है

उदाहरण

//This is present in the different file named MyClass.java
public class MyClass {
   static int x = 10;
   public static void myFunction() {
      System.out.println("The static data from static member: " + x);
   }
}
//This is present the different file named Test.Java
public class Test {
   public static void main(String[] args) {
      MyClass.myFunction();
   }
}

आउटपुट

The static data from static member: 10

उदाहरण

#include<iostream>
using namespace std;
class MyClass {
   public:
      static int x;
      static void myFunction(){
         cout << "The static data from static member: " << x;
      }
};
int MyClass::x = 10;
int main() {
   MyClass::myFunction();
}

आउटपुट

The static data from static member: 10

स्टैटिक ब्लॉक:जावा में हम स्टैटिक ब्लॉक पा सकते हैं। इसे स्टेटिक क्लॉज के रूप में भी जाना जाता है। इनका उपयोग किसी वर्ग के स्थिर आरंभीकरण के लिए किया जाता है। कोड, जो स्थिर ब्लॉक के अंदर लिखा गया है, केवल एक बार निष्पादित किया जाएगा। यह C++ में मौजूद नहीं है

C++ में हम स्थैतिक स्थानीय चर घोषित कर सकते हैं, लेकिन जावा में स्थिर स्थानीय चर समर्थित नहीं हैं।


  1. सी # में स्थिर कीवर्ड

    हम स्थिर कीवर्ड का उपयोग करके वर्ग के सदस्यों को स्थिर के रूप में परिभाषित कर सकते हैं। जब हम किसी वर्ग के सदस्य को स्थैतिक घोषित करते हैं, तो इसका मतलब है कि वर्ग की कितनी भी वस्तुएँ बनाई जाएँ, स्थिर सदस्य की केवल एक प्रति है। कीवर्ड स्टैटिक का तात्पर्य है कि एक वर्ग के लिए सदस्य का केवल एक उदाहरण

  1. क्या जावा में स्थिर सदस्यों को संदर्भित करने के लिए इस कीवर्ड का उपयोग किया जा सकता है?

    नहीं, यह कीवर्ड का उपयोग किसी वर्ग के स्थिर सदस्यों को संदर्भित करने के लिए नहीं किया जा सकता है। ऐसा इसलिए है क्योंकि यह “कीवर्ड वर्तमान वस्तु की ओर इशारा करता है वर्ग और स्थिर सदस्य को बुलाए जाने के लिए किसी वस्तु की आवश्यकता नहीं है। किसी वर्ग के स्थिर सदस्य को सीधे बिना objec बनाए तक पहुँचा ज

  1. जावा 8 इंटरफेस में स्थिर तरीके

    एक इंटरफ़ेस में Java 8 के बाद से स्थिर सहायक विधियाँ भी हो सकती हैं। public interface vehicle {    default void print() {       System.out.println("I am a vehicle!");    }    static void blowHorn() {       System.out.println("