Java第二季1-7问题

来源:8-7 Java 中的 static 使用之静态变量

慕斯卡4106679

2015-10-13 17:40

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

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

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

写回答 关注

3回答

  • 天启之魂
    2015-10-13 18:41:05
    已采纳

    第一,主函数是静态函数

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

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

    慕斯卡410...

    没想起来这点。。。。

    2015-10-14 11:08:33

    共 1 条回复 >

  • 明Only
    2015-11-09 15:40:53

    public class HelloWorld {

        

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

             String className = "JAVA开发一班";

     

       public static void main(String[] args) {

        HelloWorld hello=new HelloWorld();

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

           System.out.println(hello.className);

       }

    }


  • 金牛座小二
    2015-10-13 18:07:19

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

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

Java入门第二季 升级版

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

530105 学习 · 6086 问题

查看课程

相似问题