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