黑马程序员技术交流社区

标题: Static 为什么不能修饰类? [打印本页]

作者: 18463730277    时间: 2015-6-5 17:13
标题: Static 为什么不能修饰类?
static为什么不能修饰类

作者: 幸福与我零距离    时间: 2015-6-5 17:41
可以修饰类,内部类的情况是可以修饰的。
作者: 小车车    时间: 2015-6-5 17:44
可以修饰。比如:public static classDdemo{}。。
作者: java8023    时间: 2015-6-5 22:55
静态的表示共享的,不过也有静态的成员内部类
作者: Monster    时间: 2015-6-6 08:13
学习了,从来没有过这种想法
作者: heyuze    时间: 2015-6-6 10:17
主类是不能用静态static修饰的,其下里的内部类可以用static修饰
作者: 志行    时间: 2015-6-6 11:21
你这个问题就是错误的~~~~~~
作者: 18463730277    时间: 2015-6-16 23:00
heyuze 发表于 2015-6-6 10:17
主类是不能用静态static修饰的,其下里的内部类可以用static修饰

想过为什么不能么?
作者: l李伟    时间: 2015-6-16 23:14
差不多。。。
作者: hieiyukina    时间: 2015-6-17 07:44
Java语言就是这么设定的 C#里面就有静态类 知道就可以了吧
作者: 杨凯瑞    时间: 2015-6-17 08:29
你可以修饰静态内部类啊
作者: 乔栋    时间: 2015-6-17 08:58
内部类可以修饰成static
作者: 黑色柳丁    时间: 2015-6-17 10:43
讲一下个人理解吧。static修饰的东西被我们成为类成员,它会随着类的加载而加载,比如静态代码块,静态成员,静态方法(这里只是加载,并没有调用)等等,可以假象一下,如果把一个Class文件中的外部类设为static,那目的何在呢?难道让这个类随着应用的启动而加载吗?如果我在这次使用过程中根本没有使用过这个类,那么是不是就会浪费内存。这样来说设计不合理,总而言之,设计不合理的地方,Java是不会让它存在的。
而为什么内部类可以使用static修饰呢,因为内部类算是类的成员了,如果我们没有使用静态来修饰,那么我们在创建内部类的时候就需要先有一个外部类的对象,如果我们一直在使用内部类,那么内存中就会一直存在外部类的引用,而我们有时候只需要使用内部类,不需要外部类,那么还是会浪费内存,甚至会造成内存溢出。使用static修饰内部类之后,内部类在创建对象时就不需要有外部类对象的引用了。
最终结论就是:static可以用来修饰内部类,但是不可以用来修饰外部类
作者: 洪伟    时间: 2015-6-17 11:48
可以修饰内部类
作者: heyuze    时间: 2015-6-17 13:01
18463730277 发表于 2015-6-16 23:00
想过为什么不能么?

用面向思想的思维来看,主类是用来创建对象使用,在需要的时候创建不同的多个实体对象进行操作。而静态是用来一个工作空间都可以使用的一个公共对象,这种类用来进行一些所有都需要实时操作的时候,比如配置文件类,其他类都可以实时访问到它,或者修改其中的属性,这种静态类是不需要创建对象来单独操作的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2