社区
Java SE
帖子详情
关于内部类的问题
yyouyou
2006-11-27 03:09:47
比如说有个非静态的内部类,它的实例被引用,但是它的外部类实例没有被引用,垃圾回收会不会回收外部类的对象。
...全文
212
4
打赏
收藏
关于内部类的问题
比如说有个非静态的内部类,它的实例被引用,但是它的外部类实例没有被引用,垃圾回收会不会回收外部类的对象。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yyouyou
2006-12-01
打赏
举报
回复
不想继承的时候,呵呵
lkl_1981
2006-12-01
打赏
举报
回复
请问内部类都什么时候用的阿?
谢谢
s3x4
2006-11-27
打赏
举报
回复
恩,这个问题没有想过,关注一下。
yyouyou
2006-11-27
打赏
举报
回复
package myjava;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2006-11-27
* Time: 14:49:07
* To change this template use File | Settings | File Templates.
*/
public class TestFinalize {
String id ;
TestFinalize(String id){
this.id =id;
ti = new TestInner(id);
System.out.println("TestFinalize constructs:"+id);
}
public void finalize(){
System.out.println("TestFinalize finalize:" + id);
}
public class TestInner{
String a="" ;
TestInner(String id){
a = id;
}
public void finalize(){
System.out.println("TestInner finalize:" + a);
}
}
public TestInner ti;
public static void main(String[] args){
TestFinalize tf1 = new TestFinalize("one");
TestFinalize tf2 = new TestFinalize("two");
TestInner ti = tf1.ti;
tf1 =null;
System.out.println("System.gc(); fisrt");
System.gc();
System.out.println(tf1);
System.out.println(tf2);
tf2 = null;
System.out.println("System.gc(); second");
System.gc();
}
}
结果:
TestFinalize constructs:one
TestFinalize constructs:two
System.gc(); fisrt
null
myjava.TestFinalize@19821f
System.gc(); second
TestInner finalize:two
TestFinalize finalize:two
好像没有被回收
Java
内部类
问题
一、
内部类
生成class文件情况:public class A { class C { class G{} } static class D {} void a () { // 注意:方法中的
内部类
的class文件格式与别的不同 class E{} } interface F {} abstract cla
【Java杂记】
内部类
:四个
问题
详解
内部类
1.
内部类
为什么存在
内部类
( inner class ) : 定义在另一个类中的类 我们为什么需要
内部类
?或者说
内部类
为啥要存在?其主要原因有如下几点:
内部类
方法可以访问该类定义所在作用域中的数据,包括被 private 修饰的私有数据
内部类
可以对同一包中的其他类隐藏起来
内部类
可以实现 java 单继承的缺陷 当我们想要定义一个回调函数却不想写大量代码的时候我们可以选择使用匿名
内部类
来实现 下面我们就一一来看这四点… 1.1 访问类作用域中的数据 当外部类的对象创建了一个
内部类
的对象时,
关于Java中
内部类
编译的
问题
目录关于
内部类
编译的
问题
起因 关于
内部类
编译的
问题
起因 由于昨天发了一个增量更新包,今早就发来"喜报",说XX模块功能有
问题
,于是在下去生产排查后,发现是
内部类
的
问题
,在下心想可能是昨天增量包缺少类. Java中只能有一个public class 类,但是public class类内部可以有若干个public class类,就是所谓的
内部类
.如下代码中有两个
内部类
Consumer和Provider public class VoucherConsumerThread { private Vouc
内部类
序列化的
问题
。
今天使用ObjectOutputStream 对
内部类
进行保存,但是抛出了java.io.NotSerializableException 代码 [code="java"] public class InnerClassSerializableTest { class User implements Serializable { private String name; ...
java
内部类
转化
问题
错误示范(伪代码): @Data public class User { private String userName; private String addr; private int age; private List<Girlfriend> girlfriends = new ArrayList<>(); @Data public class...
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章