黑马程序员技术交流社区
标题:
(One丶Life学习笔记)第八章 面向对象(二)
[打印本页]
作者:
One丶Life
时间:
2015-9-1 23:31
标题:
(One丶Life学习笔记)第八章 面向对象(二)
8.1 static(静态)关键字
用于修饰成员变量和成员函数
8.1.1 被static修饰的成员具备的特点
随着类的加载而加载,随着类的消失而消失
优先于对象存在
被所有对象所共享
可以直接被类名调用(类名.静态成员)
存放在共享区(方法区(类的方法)、数据区)
8.1.2 使用
静态方法只能调用静态成员
静态方法中不可以写this、super关键字
8.2 静态代码块
8.2.1 格式
static{
执行语句;
}
8.2.2 特点
随着类的加载而执行,优先于主函数,只执行一次。
8.2.3 作用
用于给类进行初始化。
注意:静态代码块中只能访问静态成员,不能访问非静态成员
8.3 设计模式
解决某一类问题最行之有效的方法。
java中有23中设计模式。
8.3.1 单例模式
解决一个类在内存中只存在一个对象
8.3.1.1 思想
想要保证对象唯一:
为了避免程序过多的建立对象,首先禁止程序建立该类对象。
还为了让程序能够访问到该类对象,只好在本类中自定义一个对象。
为了方便程序对自定义对象的访问,要提供一些访问方式。
8.3.1.2 具体实现
将构造函数私有化。(这样程序就不能够建立该类对象了)
在类中创建一个本类对象。
提供一个方法可以获取到该对象。
先初始化对象,称为:饿汉式
calss Single{
private Single(){ }
private static Single s = new Single();
public static Single getInstance(){
return s;
}
}
对象是方法被调用时才初始化,也叫对象的延时加载,称为:懒汉式
calss Single{
private static Single s = null;
private Single(){ }
public static Single getInstance(){
if(s==null){
s = new Single();
}
return s;
}
}
调用:Single.getInstance();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2