A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18463730277 中级黑马   /  2015-6-5 17:13  /  5312 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

static为什么不能修饰类

14 个回复

倒序浏览
可以修饰类,内部类的情况是可以修饰的。
回复 使用道具 举报
可以修饰。比如:public static classDdemo{}。。
回复 使用道具 举报
静态的表示共享的,不过也有静态的成员内部类
回复 使用道具 举报
学习了,从来没有过这种想法
回复 使用道具 举报
主类是不能用静态static修饰的,其下里的内部类可以用static修饰
回复 使用道具 举报
你这个问题就是错误的~~~~~~
回复 使用道具 举报
heyuze 发表于 2015-6-6 10:17
主类是不能用静态static修饰的,其下里的内部类可以用static修饰

想过为什么不能么?
回复 使用道具 举报
差不多。。。
回复 使用道具 举报
Java语言就是这么设定的 C#里面就有静态类 知道就可以了吧
回复 使用道具 举报 1 0
你可以修饰静态内部类啊
回复 使用道具 举报
内部类可以修饰成static
回复 使用道具 举报
讲一下个人理解吧。static修饰的东西被我们成为类成员,它会随着类的加载而加载,比如静态代码块,静态成员,静态方法(这里只是加载,并没有调用)等等,可以假象一下,如果把一个Class文件中的外部类设为static,那目的何在呢?难道让这个类随着应用的启动而加载吗?如果我在这次使用过程中根本没有使用过这个类,那么是不是就会浪费内存。这样来说设计不合理,总而言之,设计不合理的地方,Java是不会让它存在的。
而为什么内部类可以使用static修饰呢,因为内部类算是类的成员了,如果我们没有使用静态来修饰,那么我们在创建内部类的时候就需要先有一个外部类的对象,如果我们一直在使用内部类,那么内存中就会一直存在外部类的引用,而我们有时候只需要使用内部类,不需要外部类,那么还是会浪费内存,甚至会造成内存溢出。使用static修饰内部类之后,内部类在创建对象时就不需要有外部类对象的引用了。
最终结论就是:static可以用来修饰内部类,但是不可以用来修饰外部类
回复 使用道具 举报
可以修饰内部类
回复 使用道具 举报
18463730277 发表于 2015-6-16 23:00
想过为什么不能么?

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