java中内部类和嵌套类有什么区别? ... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不同的称谓而已官方叫法是内部类 (Inner Class) 静态的内部类称嵌套类(Nested Class),如:class Outer { class Inner { } //Inner class static class Nested { } //Nested class} 楼上的兄弟说的不错 补充一下:区别: 1.内部类的对象隐含一个外部类的对象引用,可以直接引用外部类的方法和属性 另外内部类不能定义静态的属性和方法,创建内部类对象必须依赖于一个外部对象 2. 嵌套类不能直接引用外部类的non-satic属性和方法,创建嵌套类对象时不依赖外部类 对象 jre5.0 以上似乎没有这个区别了区别: 1.内部类的对象隐含一个外部类的对象引用,可以直接引用外部类的方法和属性 另外内部类不能定义静态的属性和方法,创建内部类对象必须依赖于一个外部对象 2. 嵌套类不能直接引用外部类的non-satic属性和方法,创建嵌套类对象时不依赖外部类 对象 /////////////////////////////////////D:\JavaCode>javac Test2.javaTest2.java:14: 内部类不能有静态声明 public static void ff(){ ^1 错误D:\JavaCode>javac Test2.javaTest2.java:15: 无法从静态上下文中引用非静态 变量 this Outer.this.i = 8; ^1 错误D:\JavaCode>javac Test2.javaTest2.java:4: 需要包含 Outer.Inner1 的封闭实例 Outer.Inner1 in = new Outer.Inner1(); ^1 错误////////////////////////////////////////////这是我刚刚在java 1.5下面测试的结果 楼上那位朋友的说法不成立!! java,如何找数组在另一个数组中没有出现的元素 SQL优化问题 并于 Vector 的ADD方法的问题 JAVA执行错误,请求帮助! 高分求救!! !!!能用java编出截取在线播放的文件数据吗 这是什么情况?这是什么情况???????????? 求助:反射机制的Field类问题 119,119在JBuilder中如何接收外部参数??? FileInputStream读出的是什么? 数字水印程序设计 一个关于jdbc的问题?
官方叫法是内部类 (Inner Class)
class Inner { } //Inner class
static class Nested { } //Nested class
}
另外内部类不能定义静态的属性和方法,创建内部类对象必须依赖于一个外部对象
2. 嵌套类不能直接引用外部类的non-satic属性和方法,创建嵌套类对象时不依赖外部类
对象
另外内部类不能定义静态的属性和方法,创建内部类对象必须依赖于一个外部对象
2. 嵌套类不能直接引用外部类的non-satic属性和方法,创建嵌套类对象时不依赖外部类
对象
D:\JavaCode>javac Test2.java
Test2.java:14: 内部类不能有静态声明
public static void ff(){
^
1 错误D:\JavaCode>javac Test2.java
Test2.java:15: 无法从静态上下文中引用非静态 变量 this
Outer.this.i = 8;
^
1 错误D:\JavaCode>javac Test2.java
Test2.java:4: 需要包含 Outer.Inner1 的封闭实例
Outer.Inner1 in = new Outer.Inner1();
^
1 错误////////////////////////////////////////////这是我刚刚在java 1.5
下面测试的结果
楼上那位朋友的说法不成立!!