ホームページ  >  記事  >  Java  >  静的メソッドのロード順序の詳細な説明

静的メソッドのロード順序の詳細な説明

零下一度
零下一度オリジナル
2017-07-19 23:18:504146ブラウズ

Java の静的コード ブロック 静的メソッド 差分メソッド 相違点 一般に、プロジェクトの開始時に一部のコードを実行する必要がある場合、静的コード ブロックを使用する必要があります。このコードはオブジェクトを作成せずにアクティブに実行する必要があります。この種のコードは、クラスがロードされるときにすでにロードされており、クラス名を使用して直接呼び出すことができます。この 2 つの違いは、次のとおりです。静的コード ブロックは呼び出されたときに自動的に実行されます。 静的メソッド

(1) Javaではオブジェクトの作成を必要としないメソッドを定義できます。 このメソッドは静的メソッドです。この効果を実現するには、クラスで定義されているメソッドの前に static キーワードを追加するだけです。例えば: public static int minimum(int n1,int n2) クラスの静的メソッドを使用する場合は、次の点に注意してください。 静的メソッドでは、 a は同じクラスの他の静的メンバー (変数やメソッドを含む) のみを直接呼び出すことができますが、クラス内の非静的メンバーに直接アクセスすることはできません。これは、非静的メソッドと変数は使用する前にクラスのインスタンス オブジェクトを作成する必要があるのに対し、静的メソッドは使用する前にオブジェクトを作成する必要がないためです。 b 静的メソッドは、使用前にインスタンス オブジェクトを作成する必要がないため、いかなる方法でも this および super キーワードを参照できません。静的メソッドが呼び出されるとき、this によって参照されるオブジェクトはまったく生成されません。

(2) 静的変数は、オブジェクトではなくクラス全体に属する変数です。メソッド本体内の変数は、たとえば次のように静的に宣言できないことに注意してください。 fun() { static int i=0;//不正です。 } (3) クラスは、メソッド本体に含まれていない静的コード ブロックを使用できます。クラスがロードされると、静的コード ブロックが実行され、多くの場合、静的ブロックはクラス属性を初期化するために使用されます。例: static { }

<br>
public abstract class ClassLoadingTest {

    public static void main(String[] args) {
        User user3 = new User();
        
    }
}
   User user=  User("wang",18  "调用userSay静态方法""进入静态构造代码块"=  User("wang2333", 19"进入代码块"  User(String name, .name =.age = .name =   setAge(.age = .getName() + "调用say方法"
执行结果:
进入代码块
调用userSay静态方法
wang调用say方法
进入静态构造代码块
进入代码块
wang2333调用say方法
wang调用say方法
进入代码块

以上が静的メソッドのロード順序の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。