慕斯卡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不成立。
第一,主函数是静态函数
第二,静态函数中不能直接调用非静态成员,必须通过对象调用
如果你的代码中要将className改为非静态, 那么在主函数中就要创建HelloWorld的对象,然后通过对象来调用className
public class HelloWorld {
// 定义静态变量,保存班级名称
String className = "JAVA开发一班";
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
// 访问静态变量,输出班级名称
System.out.println(hello.className);
}
}
静态方法不能调用非静态变量
静态方法不能调用非静态方法
Java入门第二季 升级版
530652 学习 · 6091 问题
相似问题
回答 4
回答 4
回答 7
回答 4
回答 3