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

为什么不直接访问className,这个也能运行啊? 而通过HelloWorld.className之类的类名、对象名?

正在回答

3 回答

你不理解的这个地方其实在下一节说的就比较清楚了,静态方法是不能直接访问同类中的非静态属性的,而main方法是使用static关键字修饰的,所以main方法也是一个静态法方法,所以是不能直接访问不使用static修饰的className属性的。

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

可以啊,课程里面不是提过么,静态成员有多种访问方式,类名,对象名都可以啊

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

jflame 提问者

这几种使用方法有什么区别么?
2014-07-28 回复 有任何疑惑可以回复我~

同问,如果直接访问className是从哪里访问的

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

历史与足迹

静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收。当执行main函数时就加载了这个类,static修饰的变量就会被分配空间。你如果把static给去掉,那么直接访问className就是有问题了
2014-08-30 回复 有任何疑惑可以回复我~

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信