- 浏览: 578199 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
一个".java"源文件中是否可以包括多个类?
是的。
一个".java"源文件中是否可以包括多个public修饰的类?
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。我说的是不包括内部类,因为内部类可
以被public修饰,所以在不包括内部类的情况下一个类中只能有一个类被public修饰符修饰。
这是内部类的情况:
public class Hello { int a = 2; public static void main(String[] args) { new Hello().new newHello().count(); } public class newHello { public void count() { new Hello().a = 1; System.out.println("aaa"); } } }
这也是内部类的情况:
public class Hello { int a = 2; public static void main(String[] args) { new Hello().new newHello().count(); } protected class newHello { public void count() { new Hello().a = 1; System.out.println("aaa"); } } }
这是静态内部类:
public class Hello { static int a = 2; public static void main(String[] args) { new newHello().count(); // new Hello().new newHello().count(); // System.out.println(new Hello().new newHello().b); System.out.println(new newHello().b); } public static class newHello { int b = 3; public void count() { System.out.println(a); } } }
这是外部类的情况:
public class Hello { int a = 2; public static void main(String[] args) { new Hello().new newHello().count(); System.out.println(new Hello().new newHello().b); } public class newHello { int b = 3; public void count() { System.out.println(a); } } } class Hello2 { public void test() { System.out.println(new Hello().a); System.out.println(new Hello().a); } }
总结:
与.java文件名相同的类是顶级类,顶级类里面的类是内部类,内部类可以被修饰符修饰。
顶级类以外的类不可以被修饰符修饰。
顶级类通过本身对象.内部类对象.属性或者方法调用内部类属性方法。
内部类可以直接用顶级类里面的全局变量。
静态内部类相当于一个单独的类。调用是通过对象调用的。
注:以上是本人的理解,没有用很专业的词汇,希望对大家有所帮助。
发表评论
-
日期比较
2013-06-13 16:21 1176比较日期: function compareDate( ... -
Arrays.asList详解
2012-09-10 09:52 889Arrays.asList详解 记得以前写过一 ... -
Collections.addAll
2012-09-07 18:04 2330collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 891String a = "ab"; ... -
图片复制
2012-07-05 11:53 1068import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1386Thumbnailator是一个用来生成图像缩略图的 J ... -
java File
2012-06-29 13:53 1278直接下载的,整理的很好,这里做个记录,基础的东西都是。 Fi ... -
mysql 时间比较
2012-06-05 19:57 1弱智得问题,分开写 SELECT * FROM bb_ ... -
split
2012-05-23 10:46 1203//String[] idArr = StringUtil ... -
(转)关于Integer大小比较的问题
2012-05-18 10:32 878关于Integer大小比较的问题 昨天跟朋友一起 ... -
toString
2012-05-14 20:01 1005public abstract class ToStringB ... -
io读取操作
2012-03-09 16:18 963public void writeFile(Strin ... -
string[] to map
2012-03-03 17:23 1085public static Map<Inte ... -
tomcat中文问题的解决
2012-03-01 09:55 861第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特 ... -
java方式将汉字转成拼音
2012-02-24 13:02 1063/** * 需要一个开源的jar包pinyin4j-2.5. ... -
System.getProperty(key)
2012-02-15 15:08 1020public static void main(String ... -
CodeFilter
2012-05-22 11:14 840package com.bitbao.cm.common.ut ... -
Integer值比较误区
2012-05-22 11:14 938例子: Integer i1 = 12; I ... -
容易忽略的for循环问题
2012-01-18 15:33 11751、项目中对用户操作的结果进行审核时候,出现一个问题,如果对省 ... -
java实现的加密工具类(支持MD5和SHA)
2012-01-13 16:08 1271版权声明: dtstudy原创文章,转载请注明出处: h ...
相关推荐
成员类是指没有使用`static`关键字修饰的内部类。成员类依赖于外部类的实例,因此必须先创建外部类的实例才能访问成员类。 **3.1 成员类的特性** - **访问控制**:成员类同样支持不同的访问级别。 - **访问外部类*...
- 静态内部类(Static Nested Class):类似于普通的顶级类,但仍然与外部类有联系。它们不能直接访问外部类的非静态成员,但可以通过实例化外部类对象来访问。 - 非静态内部类(Member Inner Class):可以直接...
内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。
内部类的访问控制与外部类类似,可以有public、protected、默认(包级私有)和private修饰符。在内部类中,`this`关键字通常指代当前内部类的实例,而`Outer.this`则指代外部类的实例。当内部类的成员与外部类的成员...
静态内部类是用static关键字修饰的内部类,它不依赖于外部类的实例。这意味着你可以直接使用外部类名来创建静态内部类的实例,而不需要先创建外部类的实例。静态内部类可以访问外部类的所有静态成员,但不能访问非...
4. 静态嵌套类(Static Nested Class):相当于成员内部类,但可以拥有静态成员,并且可以直接通过外部类访问,无需外部类实例。 在提供的文件列表中,"317.swf"和"316.swf"可能是视频教程的一部分,由孙鑫老师讲解...
在Java中,如果一个内部类(嵌套类)被声明为 `static`,那么它被称为静态内部类或者顶级类,它可以没有外部类的引用,可以直接通过外部类名进行访问。例如,`InnerClassNotStaticTest.java` 文件可能包含了这样一个...
在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,涉及到类、对象以及变量和方法的生命周期。本视频教程详细讲解了`static`关键字在Java中的应用及其背后的原理。 首先,我们要理解`static`...
嵌套类主要分为两大类:静态嵌套类(Static Nested Class)和非静态嵌套类(Non-static Nested Class),后者通常被称为内部类(Inner Class)。 - **静态嵌套类**:此类嵌套类被声明为`static`,因此它们与外部类...
`static`内部类是顶级类,独立于包含它的类。`static`方法和字段分别属于类而非实例,这意味着不论创建多少个实例,这些静态成员只有一份拷贝。`static`初始化块在类加载时执行,而不是在创建实例时。 4. **final**...
介绍:static 修饰的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法是类方法,是被指向到所属的类而不是类的实例。静态字段是类字段,无论该字段所在的类创立了多少实例,该字段只存在一个实例被指向到...
关键词`static`则用于修饰类级别的成员,如字段、方法或内部类。`static`修饰的成员属于类本身,而非类的实例。这意味着它们在类加载时初始化,并且所有类实例共享这些静态成员。例如,当我们使用`static`修饰一个...
嵌套类型(如类内的类)的访问域受到外部类型的影响,`public`成员的访问域等于外部类型的访问域,`internal protected`、`protected`、`internal`、`private`成员的访问域受到特定条件限制,范围从只允许在声明它们...
静态类都是内部类,static 不能用于修饰顶级的类。对于单例模式用静态类来实现就是一个很不错的选择。 例如: ```java public class Singleton { private static class SingletonHolder { private static ...
3. **静态内部类(Static Nested Class)与普通内部类(Inner Class)的区别**: - 静态内部类可以直接实例化,不需要外部类的对象,而普通内部类需要外部类的对象。 - 静态内部类不能访问外部类的非静态成员,而...
3、Static Nested Class和Inner Class:静态内部类(Static Nested Class)与非静态内部类(Inner Class)的主要区别在于,静态内部类不需要外部类的实例就能创建对象,而普通内部类需要。此外,静态内部类不能直接...
`Collection`是所有集合类的顶级接口,包括Set和List。`Collections`是一个工具类,提供了许多静态方法,用于对集合进行操作,如排序、查找、同步控制等。 6、assert的使用 `assert`是用于调试的语句,它用于断言...
- Static Nested Class(静态内部类):静态内部类与普通内部类类似,但它可以被声明为`static`,这意味着不需要外部类的实例就能创建静态内部类的实例。静态内部类不能直接访问外部类的非静态成员,但可以通过外部...
2. **匿名内部类**:匿名内部类没有名称,可以实现接口或继承类(但不能同时继承类和实现接口)。匿名内部类常用于简化代码,特别是当只需要使用一次的类时。 3. **Static Nested Class和Inner Class的区别** - ...