写了好几年的程序的人不见得全部对语言基础都非常了解
比如说Java的内部类,除了在些框架里提供的之如spring里的callback以及GUI里面的常用匿名内部类,至少我个人很少在其他地方利用到,正好不忙,把这块部分好好补一补。
下面是总结的一些tips:
1.static inner class.
用法一:用于改进的singleton类(created by Jeremy Manson and Brian Goetz)
the Initialization on Demand Holder (IODH) idiom which requires very little code and has zero synchronization overhead. Zero, as in even faster than volatile. IODH requires the same number of lines of code as plain old synchronization, and it's faster than DCL.
java 代码
- public class Something
- {
- private Something()
- {
- }
-
- private static class LazyHolder
- {
- private static final Something something = new Something();
- }
-
- public static Something getInstance()
- {
- return LazyHolder.something;
- }
- }
延伸阅读
http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#dcl JSR 133 (Java Memory Model) FAQ
http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom
用法二:懒人的测试工具
http://www.javaworld.com/javaworld/javatips/jw-javatip106.html
因为内部类编译成OutClass$InnerClass.class,所以可以在dev,test环境上保留这个类,在prod环境上不打包这个类。
所以可以在innerClass写些测试方法用来简单的单元测试,不过对于职业程序员来说还是要保持用好Junit 的习惯。
分享到:
相关推荐
在“java_innerclass_instance.rar_innerclass”这个压缩包中,包含的资源可能是一个关于Java内部类实例应用的示例代码。 内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。这里我们主要...
Java 易混淆概念 Anonymous Inner Class Java编程语言中存在一些易混淆的概念,今天我们将探讨 Anonymous Inner Class、final、finally、finalize 的区别,Static Nested Class 和 Inner Class 的不同,&和&&的区别...
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)
1. 对于成员内部类和静态嵌套类,可以通过`new OuterClass().new InnerClass()`或`OuterClass.InnerClass inner = new OuterClass().new InnerClass();`来实例化。 2. 局部内部类和匿名内部类只能在定义它们的方法...
可以通过"OuterClass.InnerClass"的方式引用静态成员类,如`new Outer.Inner1()`。 6. **使用场景** - 当需要创建一个与外部类紧密相关的辅助类,并且希望这个类在没有外部类实例的情况下也能存在时,可以使用...
OuterClass.InnerClass innerObj = outerObj.new InnerClass(); ``` #### 三、访问权限 内部类和静态嵌套类都可以声明不同的访问权限,包括`public`、`protected`、`package-private`(默认访问权限)、`private...
InnerClass01Test.java
匿名内部类 inner class 马克-to-win java视频的详细介绍
嵌套类主要分为两大类:静态嵌套类(Static Nested Class)和非静态嵌套类(Non-static Nested Class),后者通常被称为内部类(Inner Class)。 - **静态嵌套类**:此类嵌套类被声明为`static`,因此它们与外部类...
匿名内部类 inner class 马克-to-win java视频的详细介绍
Instance inner 实例内部类 马克-to-win java视频的介绍
java程序代码,供大家参考。不会的时候可以看看啊
在Android开发过程中,有时会遇到导入项目时出现错误警告,比如"Ignoring InnerClasses attribute for an anonymous inner class"。这个问题并不会阻止项目在Windows系统上运行,但可能会导致在其他平台如OS X上无法...
Java面向对象(高级)-- 类的成员之五:内部类(InnerClass)
Java 面试题 经典 第一,谈谈final, finally, finalize的区别。...第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 第四,&和&&的区别。 第五,HashMap和Hashtable的区别。
内部类(Inner Class)是Java语言中一个独特的特性,它允许在一个类的内部定义另一个类。这种设计模式在处理特定问题时提供了更大的灵活性,比如实现事件监听器、封装复杂逻辑或者创建私有的辅助类。本章我们将深入...
本节内容包括 接口基本概念 使用接口的例子 接口的定义 接口的实现 接口与抽象类 接口和回调 内部类(介绍)
在Java中,还有Static Nested Class和Inner Class的概念。Static Nested Class意味着创建一个static内部类的对象,不需要一个外部类对象,不能从一个static内部类的一个对象访问一个外部类对象。 在Java面试中,还...
Instance inner 实例内部类 马克-to-win java视频的介绍