Javaの静的オブジェクトと静的メソッドとは何ですか

王林
リリース: 2019-11-20 11:34:09
オリジナル
3337 人が閲覧しました

Javaの静的オブジェクトと静的メソッドとは何ですか

静的変数とは

Java で static によって変更されたメンバーは、静的メンバーまたはクラス メンバーと呼ばれます。これはオブジェクトではなくクラス全体に属します。つまり、クラスのすべてのオブジェクトによって共有されます。静的メンバーには、クラス名を使用して直接アクセスすることも、オブジェクト名を使用してアクセスすることもできます。

静的を使用して変数、メソッド、コード ブロックを変更します。

public class Test1 {
    // static修饰的变量为静态变量,所有类的对象共享hobby
    static String hobby = "Tedu";
    
    public static void main(String[] args) {
        // 静态变量可以直接使用类名来访问,无需创建对象
        System.out.println("通过类名访问hobby:" + Test1.hobby);
        // 创建类的对象
        Test1 t1 = new Test1();
        // 使用对象名访问静态变量
        System.out.println("使用对象名访hobby:" + t1.hobby);
        // 使用对象名的形式修改静态变量的值
        t1.hobby = "cjj";
        // 再次使用类名访问静态白变量,值已经被修改
        System.out.println("通过类名访问hobby:" + Test1.hobby);
    }
}
ログイン後にコピー

実行結果:

通过类名访问hobby:Tedu
使用对象名访hobby:Tedu
通过类名访问hobby:cjj
ログイン後にコピー

注: 静的メンバーはクラス全体に属します。システムがクラスを初めて使用するとき、システムは、クラスが完了するまでメモリ領域を割り当てます。リソースはクラスがアンロードされた後にのみリサイクルされます。

静的メソッドとは

静的変数と同様に、静的メソッドまたはクラス メソッドと呼ばれる、静的に変更されたメソッドも使用できます。実際、これまでに作成してきた主なメソッドは静的メソッドです。

public class Test01 {
    //使用static关键字声明静态方法
    public static void print() {
        System.out.println("欢迎你:Cjj!");
    }
    public static void main(String[] args) {
        //直接使用类名调用静态方法
        Test01.print();
        //也可以通过对象名调用,当然更推荐使用类名调用
        Test01 t1 = new Test01();
        t1.print();
    }
}
ログイン後にコピー

実行結果:

欢迎你:Cjj!
欢迎你:Cjj!
ログイン後にコピー

注:

1. 静的メソッドは同じクラスの静的メンバーを直接呼び出すことができますが、非静的メンバーを直接呼び出すことはできません。 -静的メンバー、静的メンバー。例:

Javaの静的オブジェクトと静的メソッドとは何ですか

静的メソッドで非静的変数を呼び出したい場合は、クラスのオブジェクトを作成し、次のメソッドを介して非静的変数にアクセスできます。物体。例:

Javaの静的オブジェクトと静的メソッドとは何ですか

2. 通常のメンバー メソッドでは、次のような非静的変数と同じ型の静的変数に直接アクセスできます。

Javaの静的オブジェクトと静的メソッドとは何ですか3. 非静的メソッドは静的メソッド内で直接呼び出すことはできません。非静的メソッドにはオブジェクトを通じてアクセスする必要があります。例:

public class Test01 {
    String name = "Cjj"; //静态成员变量
    static String hobby = "study"; //非静态成员变量
    
    //普通成员方法
    public void print1() {
        System.out.println("普通成员方法~~~"); 
    }
    
    //静态成员方法
    public static void print2() {
        System.out.println("静态成员方法~~~");
    }
    
    public static void main(String[] args) {
        //普通成员方法必须通过对象来调用
        Test01 t1 = new Test01();
        t1.print1();
        //可以直接调用静态方法
        print2();
    }
}
ログイン後にコピー

推奨チュートリアル:

Java 入門チュートリアル

以上がJavaの静的オブジェクトと静的メソッドとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート