什么是设计模式?
对问题行之有效地解决方式,其实他是一种设计思想。
1. 单例设计模式:
解决问题:保证一个类在内存中的对象是唯一的。
如何保证对象的唯一性?
1. 不允许其他程序用new关键字来创建对象。
2. 在该类中创建一个本类的实例。
3. 定义一个公有的方法,让其他程序可以获取该对象。
步骤:
1. 私有化构造方法。
2. 2.通过new在本类中创建一个本类对象。
3. 定义一个公有的方法,将创建的对象返回。
class Single{
//饿汉式
private Single(){//当类加载时,对象就加载了。
}
private static Single s = new Single();
public static Single getS() {
return s;
}
}
class Single2{//懒汉式:类加载进来时没有对象,只有调用了gets()时才会产生对象。
private static Single2 s = null;
private Single2(){
}
public static Single2 gets(){
if(s == null){
s = new Single2();
}
return s;
}
}
public class SingleDemo {
public static void main(String[] args) {
Single s1 = Single.getS();
}
}
权限修饰符
客户端程序员:在应用中使用数据类型的消费者,他们的目标是收集各种用来实现快速应用开发的类。
创建类的程序员:创建新数据类型(java中的类)的程序员,目标是构建类。
访问控制存在的原因:
1. 让客户端程序员无法触及他们不应该触及的部分。
2. 允许创建类的程序员可以改变类内部的创建方式而不用担心会影响到客户端程序员。
权限修饰符的四个关键字:
public,protected,private,默认修饰符(defualt)。
public:对任何人都可以用。
protected:继承的类可以访问,其他的和private一样。
defualt:包访问权限。
private:除了类类型的创建者和内部方法之外的任何人都不能访问的元素。