黑马程序员技术交流社区
标题:
关于非静态内部类里面不能创建静态变量的问题
[打印本页]
作者:
Noodles.
时间:
2016-5-19 21:58
标题:
关于非静态内部类里面不能创建静态变量的问题
非静态的外部类
里面可以创建
静态的属性变量
;
为什么
非静态的内部类
里面
不能
创建静态的变量.
而
静态的内部类
里面可以创建
非静态
的属性变量?
他们在系统调用时的先后顺序是什么样子的?
作者:
yikwing
时间:
2016-5-19 22:12
一个类的静态方法只能访问静态属性;
一个类的静态方法不能够直接调用非静态方法;
如访问控制权限允许,static 属性和方法可以使用类名加“.”方式调用;当然也可以使用实例加“.”方式调用;
静态方法中不存在当前对象,因而不能使用“this”,当然也不能使用”super”;
静态方法不能被非静态方法覆盖;
构造方法不允许声明为 static 的;
局部变量不能使用static修饰;
作者:
yikwing
时间:
2016-5-19 22:14
因为内部类特殊,他被定向为是和成员变量,方法一样的外部类成员
他必须跟外部类实例相关联才能初始化,这是他的特点之一,为了这个其他东西都要让路
而静态成员是不需要实例就初始化的
如果一个非静态内部类有了静态成员,静态成员不依托于任何内部类实例,那结果也就是此内部类不需要外部类实例就初始化了变量,严重侵害了内部类的定向
作者:
Noodles.
时间:
2016-5-19 22:14
yikwing 发表于 2016-5-19 22:12
一个类的静态方法只能访问静态属性;
一个类的静态方法不能够直接调用非静态方法;
如访问控制权限允许,st ...
感谢顶帖!!!{:2_37:}
作者:
Noodles.
时间:
2016-5-19 22:16
yikwing 发表于 2016-5-19 22:12
一个类的静态方法只能访问静态属性;
一个类的静态方法不能够直接调用非静态方法;
如访问控制权限允许,st ...
感谢顶帖,谢谢!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2