请先看这个程序:http://algs4.cs.princeton.edu/13stacks/Bag.java.html
菜鸟提问,为什么内部类声明成了static?有什么作用么?
关于static内部类的细节
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 清水依恋成 2015-04-07 07:50关注
static关键字内部类,目的是告诉虚拟机只有一份变量声明。
private static class Node {
private Item item;
private Node next;
}
这段代码其实不论在bag当前文件内,还是由一个别的java文件单独声明,虚拟机不会因为当前bag实例的不同时间点的初始化单独创建一份了。
但这里这样写还有一个别的目的,就是在用到bag这个类的时候才告诉虚拟机“node这个类只要初始化一次”就可以了。
如果将node这个类以单独文件,那么虚拟机在启动java运行时就执行了“node这个类只要初始化一次”这样的操作了。
详细设计上写法的区别也就是上面的区别。目的就是用到的时候才声明去解释一些事情。希望这样的描述对你有用。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 表达式必须是可修改的左值
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题