JAVA:为什么类名不加static就无法调用

[复制链接]
查看11 | 回复5 | 2017-10-10 04:08:00 | 显示全部楼层 |阅读模式
我日,不懂装懂的人真多,不要误人子弟。static修饰的成员是类成员:其调用可以用“类名。成员名”“对象名。成员名”这两种方式调用无差别。非static修饰的成员是实例(对象)成员:其调用必须用“对象名。成员名”调用。只要你使用上述方法去调用,无论你是在“static调用非static,还是在非static调用static,static调用static,非static调用非static”,都是可以的,而且是最标准的。(注:有得书上写static不能调用非static这句话的前提是同一个类内的直接调用,我本人不建议直接调用非static成员)关于调用强调非static调用非static若为同一个类的内部成员也可直接调用不必加对象名,但...
回复

使用道具 举报

千问 | 2017-10-10 04:08:00 | 显示全部楼层
Node类为嵌套类,加上static后为静态嵌套类。嵌套类不能直接实例化,必须由父类对象实例化。即在没有static 的情况下,必须通过new Main().new Node() 来实例化。静态嵌套类可单独实例化,不依赖父对象。...
回复

使用道具 举报

千问 | 2017-10-10 04:08:00 | 显示全部楼层
public class Test2 { publicclass Node{
int x=1;
}int x=1;public static void main(String[] args) { Node Now = new Test2().new Node(); System.out.print(No...
回复

使用道具 举报

千问 | 2017-10-10 04:08:00 | 显示全部楼层
没看错吧,类上能加static吗;static在类中修饰变量或方法成为静态的不能修饰类,应该是其他的地方错了...
回复

使用道具 举报

千问 | 2017-10-10 04:08:00 | 显示全部楼层
因为主方法是static的 静态方法必须放在静态类里面~~~反之一样...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行