【问题标题】:What does Java static object mean?Java静态对象是什么意思?
【发布时间】:2017-08-13 14:42:36
【问题描述】:

如果我们将对象设为静态有什么好处?求详细解释!!

【问题讨论】:

  • 你的意思是引用一个对象的静态变量吗?
  • 您不能将对象设为静态。这基本上是静态的重点。 static 表示该项目位于“类世界”,而不是“对象世界”。所以static 说:“一个元级别更高”。
  • @WillemVanOnsem 类可以有字段,但它们并不总是原始类型。
  • 是的,并且 field 是静态的,而不是 object 本身......问题中也提到了这一点:“静态变量”。
  • @DeepakGarg 给出一个代码示例来说明你的意思。你的问题还不清楚。如上所述,没有什么叫做“静态对象”

标签: java object static


【解决方案1】:

你可以将一个变量设为静态,而这个 Var 指的是一个对象,为什么会这样呢?一个静态的意味着它对所有应用程序都是可见的(也取决于它的包可见性,公共的,受保护的,默认的,私有的)

为什么会好?好吧,也许你正在创建一个“静态对象”以便在不同的对象中使用它,例如游戏,看我做了一个(“当然这是一个例子”)

public class Dummy {
    static Player player = new Player("Yussef");
    public static void main(String[] args) {
        stageOne();
        satageTwo();
    }
    static void stageOne(){
        System.out.println("Ready? Go");
        System.out.println(player);
        System.out.println("Ouch an enemy hit me");
        player.setLife(80);
        System.out.println(player);
    }

    static void satageTwo(){
        System.out.println("Good, now you're in next level");
        System.out.println(player);
        System.out.println("Ouch an enemy hit me");
        System.out.println("Ouch an enemy hit me");
        player.setLife(40);
        System.out.println(player);


    }


}

class Player{

    private String name;
    private int life;

    Player(String name){
        this.name = name;
        life = 100;
    }


    @Override
    public String toString() {
        return "My name is: "+name+" And mi actual life is: "+life;
    }


    public void setLife(int life) {
        this.life = life;
    }
}

现在想象一下,尽管使用相同的类,我会创建更多的类,或者更多的玩家,那么问题是:我的玩家将在我的所有游戏中拥有相同的生活和相同的名字,所以无论如何我玩的舞台我将拥有相同的属性或更改它们;)。

这是我想到的一个例子,希望它可以帮助你

【讨论】:

  • 太棒了。!!谢谢。
猜你喜欢
  • 2023-03-29
  • 2015-07-07
  • 2011-07-10
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 2011-06-12
相关资源
最近更新 更多