首页 > 代码库 > 张小二求职记之 单例模式(二)
张小二求职记之 单例模式(二)
z:大侠,我又回来了。
M:
内部类懂了,其实设计模式很多考察的都是基础知识,一个学生能有什么项目工程经验呢?你很上进。咱们聊聊内部类,特别是单例模式中的静态内部类.我们开始吧;
M.什么时内部类?
简单来说就是类中有类。
M:静态内部类和普通内部类有什么区别?
普通内部类可以理解为外部类的普通方法,需要创建外部对象,说白了普通类是属于某个对象
OutClass.InnerClass obj = outClassInstance.new InnerClass();
静态内部类可以理解为静态方法,属于整个类的,无需创建外部对象。
AAA.StaticInner in = new AAA.StaticInner
M:普通内部类中可以有static 属性吗?为什么?
不可以,不知道
http://blog.csdn.net/jiangxinyu/article/details/8177326,太细了,记不住,以后慢慢来。,
M:外部类可以访问内部类的所有方法与属性,包括私有方法与属性。吗?
是的
M:明白昨天你写的代码了吗?我循循善诱,就是为了告诉你答案。你还不会就是对不起哥
z:
private static class SingletonHolder
{
private static Singleton instance=new Singleton();
}
public static Singleton getInstance()
{
return SingletonHolder.instance ;
}
z: 我尝试着系统总结一下吧
内部类设为私有,为了不想让除外部类以外的类使用,
首先
Singleton.getInstance();
因为getinstance是static所以,必须访问static属性,
而static属性只能在static 的内部类。
M:你有成为优秀工程师的潜质,寻根究底。
z:其实对于内部类我还不熟。
M:单例模式你觉得自己研究的怎么样了?
z:应该不错了,
M: 有两个流传很广的多线程版本的吧,你会写吗?
z:我会写,但是我知道你要问我多线程的基础,所我想在回去准备。