父类的引用数据类型变量指向子类的对象 变量的获取以及使用:向上转型后: 注意的点:
1.1 拥有相同的名字的普通成员变量(包括静态变量)时,访问的是父类的 1.2 拥有相同名字的普通成员方法(非静态方法时),访问的是子类的 1.3 拥有相同名字的静态成员方法,访问的是父类的 1.4 父类的引用类型变量访问不到子类特殊的成员 如果我要访问子类的特有成员,该怎么办? 类型转型 强转:转换的两者必须存在继承或实现关系,否则不能进行。
1.懒汉代码:
class Single{ private int age; public int getAge(){ return age; } public void setAge(int age){ this.age=age; } private Single(){ super(); } private static Single s =null; public static Single getInstances(){ if(s=null){ s=new Single(); } return s; } }
2.恶汉代码:
class Single{ private int age; public int getAge(){ return age; } public void setAge(int age){ this.age=age; } private Single(){ super(); } private static Single s=new Single(); public static Single getInstances(){ return s; } }
1. 总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。2.在处理某些情况下一种约定俗成,并且行之有效的方法 3. 主要是为了解决在计算机内存中某个类只存在一个对象这种情况 装饰者设计模式 工厂设计模式 代理设计模式
