课程
/后端开发
/Java
/Java入门第二季 升级版
为什么例子中可以通过类名来直接访问,这里写HelloWorld.className就不对
2016-07-20
源自:Java入门第二季 升级版 8-7
正在回答
public class HelloWorld { // 定义静态变量,保存班级名称 static String className = "JAVA开发一班";
public static void main(String[] args) { // 访问静态变量,输出班级名称 System.out.println(HelloWorld.className); }}
我是说这个问题,,提交时候出错了,但后来又是正确的,怀疑是编译器问题了。。。这方法也是根据老师讲解的做的,,,
因为静态方法不能直接调用非静态变量,要通过创建类的对象,然后通过对象来访问非静态变量
因为这里是静态内部类啊,所以可以直接访问。上一节的不是静态内部类,所以要用HelloWorld.this.className
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答为什么静态变量可以直接用类名.变量名来访问?
2 回答可以通过 类名.静态变量 访问静态变量 也可以通过 对象.静态变量 访问静态变量。也可以直接通过静态变量名访问吗
2 回答静态方法可以通过类的对象来调用,也可以通过类直接调用,那静态变量可以通过类直接调用而不创建对象吗?
3 回答可以直接调用静态方法而不需要通过类名或对象名?
3 回答为什么不能通过对象访问外部类中的name