C++とJavaの静的キーワード
C ++またはJavaでは、staticキーワードを取得できます。それらはほとんど同じですが、これら2つの言語の間にはいくつかの基本的な違いがあります。 C++の静的とJavaの静的の違いを見てみましょう。
静的データメンバーは、JavaとC++で基本的に同じです。静的データメンバーはクラスのプロパティであり、すべてのオブジェクトで共有されます。
例
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では、静的メンバー関数を作成できます。これらもそのクラスのメンバーです。いくつかの制限もあります。
- 静的メソッドは、他のいくつかの静的メソッドのみを呼び出すことができます。
- 静的メンバー変数にのみアクセスできます
- 「this」または「super」にアクセスできません(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
静的ブロック:Javaでは、静的ブロックを見つけることができます。これは静的句とも呼ばれます。これらは、クラスの静的初期化に使用されます。静的ブロック内に記述されたコードは、1回だけ実行されます。これはC++にはありません
C ++では静的ローカル変数を宣言できますが、Javaでは静的ローカル変数はサポートされていません。
-
thisキーワードを使用して、Javaの静的メンバーを参照できますか?
いいえ、「これ 「キーワードを使用してクラスの静的メンバーを参照することはできません。これは、「 this ”キーワードは現在のオブジェクトを指します クラスと静的メンバーのオブジェクトを呼び出す必要はありません。クラスの静的メンバーには、オブジェクトを作成せずに直接アクセスできます。 Javaのt。 例 public class StaticTest { static int a = 50; static int b; static void show() { Syste
-
インターフェイスのJava8静的メソッド
インターフェースにはJava8以降の静的ヘルパーメソッドを含めることもできます。 public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("Blowing horn!!!"); &nb