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

Java第二季1-7问题

public class HelloWorld {
    
    // 定义静态变量,保存班级名称
	     static String className = "JAVA开发一班";

	public static void main(String[] args) {
        
		// 访问静态变量,输出班级名称
		System.out.println(HelloWorld.className);
	}
}

为什么className一定是静态变量,不能是实例变量?删掉static不成立。

正在回答

3 回答

第一,主函数是静态函数

第二,静态函数中不能直接调用非静态成员,必须通过对象调用

如果你的代码中要将className改为非静态, 那么在主函数中就要创建HelloWorld的对象,然后通过对象来调用className

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

慕斯卡4106679 提问者

没想起来这点。。。。
2015-10-14 回复 有任何疑惑可以回复我~

public class HelloWorld {

    

   // 定义静态变量,保存班级名称

         String className = "JAVA开发一班";

 

   public static void main(String[] args) {

    HelloWorld hello=new HelloWorld();

       // 访问静态变量,输出班级名称

       System.out.println(hello.className);

   }

}


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

静态方法不能调用非静态变量

静态方法不能调用非静态方法 

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

举报

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

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

进入课程

Java第二季1-7问题

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