为了账号安全,请及时绑定邮箱和手机立即绑定

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);
}

}


正在回答

4 回答

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

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

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

}


1 回复 有任何疑惑可以回复我~
#1

化糖 提问者

非常感谢!
2016-07-24 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

public   static  int sum() { 

     HelloWorld hello=new Helloworld();

      return (score1+hello.score2);

}


0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530711    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

java对象问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信