Javaクラスのプロパティ

1725 ワード

1つの属性がstaticによって修飾されると、クラス属性と呼ばれ、静的属性と呼ばれます.1つの属性がクラス属性として宣言されると、すべてのオブジェクトは、1つの値とオブジェクト属性の対比を共有します.異なるオブジェクトのオブジェクト属性の値が異なる可能性があります.例えばゲレンのhpとティモのhpは違います.ただし、すべてのオブジェクトのクラス属性の値は同じです.
手順1:クラス属性
クラス属性:静的属性オブジェクト属性とも呼ばれます:インスタンス属性とも呼ばれ、非静的属性1つの属性がクラス属性として宣言された場合、すべてのオブジェクトは、このような値を共有してヒーローにクラス属性を設定します.「著作権」(copyright)と呼ばれ、特定のヒーローが何人いても、すべてのヒーローの著作権はRiot Games社に属します.
package charactor;
 
public class Hero {
    public String name; //    ,    ,     
    protected float hp;
    static String copyright;//   ,    
     
    public static void main(String[] args) {
           Hero garen =  new Hero();
           garen.name = "  ";
            
           Hero.copyright = "   Riot Games    ";
            
           System.out.println(garen.name);
           System.out.println(garen.copyright);
            
           Hero teemo =  new Hero();
           teemo.name = "  ";
           System.out.println(teemo.name);    
           System.out.println(teemo.copyright);
         
    }
     
}

手順2:クラス属性へのアクセス
クラス属性へのアクセスには2つの方法がある.オブジェクトクラス属性
teemo.copyright

2.クラスクラス属性
Hero.copyright

どちらの方式でもクラス属性、アクセスすなわち修正と取得にアクセスできるが、第2のクラスを使用することを推奨する.クラスの属性の方式は行って、このように更に意味の上の理解に合います
手順3:オブジェクト属性をいつ使用するか、クラス属性をいつ使用するか
1つの属性がヒーローごとに異なる場合、例えばnameのように、このような属性はオブジェクト属性として設計されるべきです.それはオブジェクトについて行くため、各オブジェクトのnameが異なる場合、1つの属性がすべてのヒーローが共有され、同じであれば、クラス属性として設計する必要があります.例えば血量上限、すべてのヒーローの血量上限は9999で、ヒーローが違うからといって、異なる値をとることはありません.このような属性は、クラス属性として設計するのに適しています.
手順4:練習-クラス属性
garenを通じてcopyright値の変更
garen.copyright = "Blizzard Entertainment Enterprise";
そしてteemoを印刷する.copyright、変化がないか観察