一.简单工厂模式:是解决大量创建对象的的方案.
以static方法和对new关键字的隐藏,实现通过一个简单的字符串实现获取对象的方案.
public class Computer {
@Override
public String toString() {
return "我是一个电脑";
}
}
public class IntelComputer extends Computer{
@Override
public String toString() {
return "我是英特尔的电脑";
}
}
public class AMDComputer extends Computer {
@Override
public String toString() {
return "我是AMD芯片的电脑";
}
}
//内部类测试实现
public class Test {
public static void main(String[] args) {
//简单工厂模式的实现
Computer com=GetComputer.getComputer("intel");
System.out.println(com.toString());
}
}
class GetComputer {
public static Computer getComputer(String str) {//通过传入的简单字符串,进行判断//new
Computer com=null;
if("AMD".equals(str)) {
com=new AMDComputer();//所隐藏的关键子NEW
}else {
com=new IntelComputer();//所隐藏的关键子NEW
}
return com;
}
}
二.final关键字
final关键字修饰对象 | 区分 | 效用 |
变量 | 实例变量 | 修饰的变量需手动赋值,"JVM虚拟机不会默认初始化,会报The blank final field a may not have been initialized编译错误" 修饰的变量只能赋值一次,后续不能改变. 与变量是否有static修饰无关. 备注:基本类型的包装类型在final的修饰下算基本类型 |
类变量 | ||
引用类型变量 | 修饰引用类型变量,该引用类型的变量值不能改变,但该值所指向的对象属性可以随意更改 | |
方法 | 实例方法 | 该方法不可被子类重写,但其本身可以重载 |
类方法 | 可修饰类方法,目前我不知道有什么意义 | |
构造方法 | 不可修饰 | |
代码块 | ||
类 | / | 修饰的类不能被继承 |
三:
以上观点均为个人观点,本人也是初学者,有任何错误请及时指正 |
码字不易,如果以上总结帮到了你,请一元支持下,你的支持是最大的鼓励 |