Java では、クラスの静的変数/静的メソッドは、メモリ スタック内に 1 つだけ存在し、クラス およびオブジェクト
public class MyStatic { public static String className = "MyStatic"; public static void getClassName() { //当然你直接写className也能访问到,但前提是此函数里没有局部变量名覆盖静态变量名 System.out.println(MyStatic.className); } public static void main(String[] args) { //类访问静态变量 System.out.println(MyStatic.className); //对象访问静态变量 System.out.println((new Mystatic()).className); //类访问静态方法 Mystatic.getClassName(); //对象访问静态方法 (new Mystatic()).getClassName(); //========= (new Mystatic()).className = "new class name"; //========= //类访问静态变量 System.out.println(MyStatic.className); //对象访问静态变量 System.out.println((new Mystatic()).className); //类访问静态方法 Mystatic.getClassName(); //对象访问静态方法 (new Mystatic()).getClassName(); }}
を通じて直接アクセスできます。注意、Java 静的変数はオブジェクトへのアクセスを禁止しませんが、PHP は異なります。PHP の静的メソッドはオブジェクトから呼び出すことができますが、クラスの静的変数にはクラス メソッドからのみアクセスできます
そうですね。オブジェクト クラスの静的変数にアクセスしたい場合は、インターフェースを利用してクラス内の静的変数にアクセスするメソッドを記述する必要があります。 Java のように、構文クラスとオブジェクトの両方にアクセスできます。