问答详情
源自:8-9 Java 中的 static 使用之静态方法

java对象问题

在静态方法中,通过类名.变量为什么不能访问(sum方法)?

public class HelloWorld {
    
    // 定义静态变量score1
    static int score1 = 86;
    // 定义静态变量score2
         int score2 = 92; 
    // 定义静态方法sum,计算成绩总分,并返回总分
public   static  int sum() { 
      return (score1+HelloWorld.score2);
}
public static void main(String[] args) {
        
        // 调用静态方法sum并接收返回值
int allScore =sum();
        
System.out.println("总分:" + allScore);
}

}


提问者:化糖 2016-07-19 12:39

个回答

  • 咖啡杯里的牛奶
    2016-07-19 13:02:21
    已采纳

      题目要求:// 定义静态变量score2      static   int score2 = 92;

    如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

    public   static  int sum() {
      HelloWorld hello=new HelloWorld();
          return (score1+hello.score2);

    }


  • 慕桂英1797637
    2016-07-19 13:05:12

    静态方法访问非静态成员必须先创建对象,然后通过对象访问,访问非静态方法也是如此

  • qq_一只奔跑在公路上的鸵鸟_03626258
    2016-07-19 13:02:50

    public   static  int sum() { 

         HelloWorld hello=new Helloworld();

          return (score1+hello.score2);

    }


  • qq_一只奔跑在公路上的鸵鸟_03626258
    2016-07-19 12:58:00

    静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。