- 浏览: 3019432 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
太久没用Java这么隐蔽的语法结构了。刚才翻Java语言规范的时候看到new关键字居然可以跟在Primary的后面,再一查,看到规范的15.9,才发现是用来生成内部类的实例的。像这样:
想想觉得以前似乎是学过这语法……但肯定不是上课教的,而且肯定没怎么用过,不然怎么会忘得一干二净的 = =
呃,不理解这句话的真正意思,
Java集合中的Iterator什么的,都是非静态的内部类吧
是非静态的内部类,但同时也是私有的内部类因此从外部无法new,也就不可能让外部用户能用到new list.ListIterator()之类的奇怪语法了。
呃,不理解这句话的真正意思,
Java集合中的Iterator什么的,都是非静态的内部类吧
哈哈,那是撒。记得以前见过,这么用内部类的一个作用是多个内部类实例共享一个外围类的实例的状态,就像这里的Outer.value。可以通过这种办法来实现一些封装。
当然,不用这种方法照样能达到封装效果,例如说把共享状态专门封装到一个别的什么类里面而不是用内部类的形式。
内部类一般都是由外围类来实例化,就不会用到这种诡异的语法。也难怪我会记不住这种用法的 OTL
public class Outer { private String value; public Outer(String value) { this.value = value; } public class Inner { public void printString() { System.out.println(Outer.this.value); } } public static void main(String[] args) { Outer o = new Outer("hello"); Outer.Inner i = o.new Inner(); // instantiate inner class i.printString(); } }
想想觉得以前似乎是学过这语法……但肯定不是上课教的,而且肯定没怎么用过,不然怎么会忘得一干二净的 = =
评论
5 楼
william_ai
2011-04-06
内部类、静态内部类、匿名类,这三个家伙还是比较好玩的。
4 楼
RednaxelaFX
2010-12-24
liaofeng_xiao 写道
liujinmarshall 写道
上课没教过,但这么用显然不好。
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
呃,不理解这句话的真正意思,
Java集合中的Iterator什么的,都是非静态的内部类吧
是非静态的内部类,但同时也是私有的内部类因此从外部无法new,也就不可能让外部用户能用到new list.ListIterator()之类的奇怪语法了。
3 楼
liaofeng_xiao
2010-12-24
liujinmarshall 写道
上课没教过,但这么用显然不好。
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
呃,不理解这句话的真正意思,
Java集合中的Iterator什么的,都是非静态的内部类吧
2 楼
RednaxelaFX
2009-07-02
liujinmarshall 写道
上课没教过,但这么用显然不好。
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
哈哈,那是撒。记得以前见过,这么用内部类的一个作用是多个内部类实例共享一个外围类的实例的状态,就像这里的Outer.value。可以通过这种办法来实现一些封装。
当然,不用这种方法照样能达到封装效果,例如说把共享状态专门封装到一个别的什么类里面而不是用内部类的形式。
内部类一般都是由外围类来实例化,就不会用到这种诡异的语法。也难怪我会记不住这种用法的 OTL
1 楼
liujinmarshall
2009-07-02
上课没教过,但这么用显然不好。
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
非静态的内部类在内部自己用用就好,跑出来吓唬人就不对了
发表评论
-
The Prehistory of Java, HotSpot and Train
2014-06-02 08:18 0http://cs.gmu.edu/cne/itcore/vi ... -
MSJVM and Sun 1.0.x/1.1.x
2014-05-20 18:50 0当年的survey paper: http://www.sym ... -
Sun JDK1.4.2_28有TieredCompilation
2014-05-12 08:48 0原来以前Sun的JDK 1.4.2 update 28就已经有 ... -
IBM JVM notes (2014 ver)
2014-05-11 07:16 0Sovereign JIT http://publib.bou ... -
class data sharing by Apple
2014-03-28 05:17 0class data sharing is implement ... -
Java 8与静态工具类
2014-03-19 08:43 16152以前要在Java里实现所谓“静态工具类”(static uti ... -
Java 8的default method与method resolution
2014-03-19 02:23 10346先看看下面这个代码例子, interface IFoo { ... -
HotSpot Server VM与Server Class Machine
2014-02-18 13:21 0HotSpot VM历来有Client VM与Server V ... -
Java 8的lambda表达式在OpenJDK8中的实现
2014-02-04 12:08 0三月份JDK8就要发布首发了,现在JDK8 release c ... -
GC stack map与deopt stack map的异同
2014-01-08 09:56 0两者之间不并存在包含关系。它们有交集,但也各自有特别的地方。 ... -
HotSpot Server Compiler与data-flow analysis
2014-01-07 17:41 0http://en.wikipedia.org/wiki/Da ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22271(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
关于string,内存布局,C++ std::string,CoW
2013-10-30 20:45 0(Disclaimer:未经许可请 ... -
对C语义的for循环的基本代码生成模式
2013-10-19 23:12 21767之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案 ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ... -
oop、klass、handle的关系
2013-07-30 17:34 0oopDesc及其子类的实例 oop : oopDesc* ... -
Nashorn各种笔记
2013-07-15 17:03 0http://bits.netbeans.org/netbea ... -
《深入理解Java虚拟机(第二版)》书评
2013-07-08 19:19 0值得推荐的中文Java虚拟机入门书 感谢作者赠与的样书,以下 ... -
豆列:从表到里学习JVM实现
2013-06-13 14:13 48132刚写了个学习JVM用的豆列跟大家分享。 豆列地址:http: ...
相关推荐
概率论书本 浙大 影印 概率论书本 浙大 影印 概率论书本 浙大 影印
C#网络游戏编程完整教程 书本例子4,IPAddress类、 Dns类、 IPHostEntry类和IPEndPoint 类的使用方法
行业分类-设备装置-书本清洁刷及书本清洁装置
行业分类-设备装置-基于书本特征的书本登记装置.zip
行业分类-设备装置-书本包装装置.zip
行业分类-设备装置-书本分离输送装置.zip
行业分类-设备装置-生产书本封面插入件和书本类型安全文件的方法以及书本封面插入件和书本类型的安全文件
书本上的附带实例代码,很好的学习资源,从零开始进行学习的好资源。讲解清晰。
行业分类-设备装置-书本装订专用刮胶装置.zip
行业分类-设备装置-书本装订方法及其设备.zip
书本翻页flash动画
行业分类-设备装置-书本上胶包纱布机构.zip
书本打包机机构设计.pdf
行业分类-设备装置-书本硬封皮的双面印刷和装订.zip
此控件主要是模仿IReader打开书本翻转以及放大特效,在看文章之前可以找本书来翻转加深理解,呵呵,开个玩笑,进入正题。 打开书本: 上层为cover,下层为content。cover播放放大翻转动画,content播放放大动画。
android程序设计基础书本demo,光盘中的demo!
书本铅笔背景PPT教育类模板下载,关键词:书本PPT背景图片,铅笔,地球仪,学习,教育PPT模板下载,PPT格式;
行业分类-设备装置-多功能书本夹.zip
行业文档-设计装置-利用书本进行广告宣传的方法及所使用的书本.zip
行业分类-设备装置-经济法律书本用书签.zip