【问题标题】:Java class instance values [duplicate]Java类实例值[重复]
【发布时间】:2020-11-07 19:02:25
【问题描述】:

我有一个带有静态变量 x 的类和一个设置值的方法。

public class mainclass
{
 
    public static int x;
 

    public static int newvalue( int y )
    {
        
    x = y;  
     return y;

    
    }
    
}

我有另一个类来存储整数值

public class instance {

    public static void main(String[] args) {
            
        mainclass main = new mainclass();
        mainclass main1 = new mainclass();
        main.newvalue( 1 );
        System.out.println("x = " + main.x);
        int y = main.x;
        main1.newvalue( 2 );
        System.out.println("x = " + main1.x);
        
        System.out.println("x = " + main.x);
        
    }

}

它给出输出

main: x = 1
main1: x = 2
main: x = 2

现在我喜欢有一个输出

main: x = 1
main1: x = 2
main: x = 1

有没有可能。请。

【问题讨论】:

  • 是的,只需删除变量和方法上的静态修饰符
  • 尽管有可能,但您不应在实例上调用静态方法或字段。这正是你现在的困惑。 static 表示它属于类,而不是特定实例。
  • 顺便说一句,注意 java 命名约定。类名应以大写字符开头。

标签: java class instance


【解决方案1】:

你需要修改maincalss类,如下图:

public class mainclass {

    public int x;

    public int newvalue( int y ) {
    
    x = y;  
     return y;
 
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多