工厂设计模式的改进 通过反射中Class类下的newInstance()对象
来源:互联网 发布:dcs组态软件 编辑:程序博客网 时间:2024/06/06 02:33
package cn.com.mooc.study1;
/*
* 工厂设计模式的改进 通过反射中Class类下的newInstance()对象
*/
public class FactoryReflect {
public static void main(String[] args) {
String str="cn.com.mooc.study1.Apple";
Fruit fruit=Factory.getInstance(str);
fruit.eat();
str="cn.com.mooc.study1.Pear";
fruit=Factory.getInstance(str);
fruit.eat();
}
}
interface Fruit{
public void eat();
}
class Apple implements Fruit{
@Override
public void eat() {
System.out.println("吃苹果呀!");
}
}
class Pear implements Fruit{
@Override
public void eat() {
System.out.println("吃个梨吧!");
}
}
class Factory{
public static Fruit getInstance(String className)
{
Fruit fruit=null;
try
{
fruit=(Fruit)Class.forName(className).newInstance();
}catch(Exception e)
{
e.printStackTrace();
}
return fruit;
}
}
/*
* 工厂设计模式的改进 通过反射中Class类下的newInstance()对象
*/
public class FactoryReflect {
public static void main(String[] args) {
String str="cn.com.mooc.study1.Apple";
Fruit fruit=Factory.getInstance(str);
fruit.eat();
str="cn.com.mooc.study1.Pear";
fruit=Factory.getInstance(str);
fruit.eat();
}
}
interface Fruit{
public void eat();
}
class Apple implements Fruit{
@Override
public void eat() {
System.out.println("吃苹果呀!");
}
}
class Pear implements Fruit{
@Override
public void eat() {
System.out.println("吃个梨吧!");
}
}
class Factory{
public static Fruit getInstance(String className)
{
Fruit fruit=null;
try
{
fruit=(Fruit)Class.forName(className).newInstance();
}catch(Exception e)
{
e.printStackTrace();
}
return fruit;
}
}
0 0
- 工厂设计模式的改进 通过反射中Class类下的newInstance()对象
- 设计模式之用反射机制改进的抽象工厂
- Class.forName().newInstance()和通过new得到对象的区别
- 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
- 工厂模式 + 反射改进
- 关于非Spring管理下的Bean通过反射在newInstance()下的自动注入问题
- 反射结合工厂设计模式的使用
- 由newInstance()说开的设计模式
- 工厂模式获取实例对象的代码改进
- 简单工厂模式的改进
- JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)
- JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)
- 【设计模式】工厂模式结合反射技术的简单应用
- new对象与Class.forName("xxx").newInstance()的区别
- class通过反射查看类的声明
- Java中利用反射的思想解决工厂设计模式的耦合问题
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- 反射--工厂设计模式
- C++ 接口
- Git Bash 下操作命令 cheetsheet
- cron、crontab
- Java-NowCoder-字符串最后一个单词的长度
- Android设置item的行间距,以及去掉分割线方法
- 工厂设计模式的改进 通过反射中Class类下的newInstance()对象
- servlet-response请求知识点 汇总
- html5 Canvas 如何自适应屏幕大小
- Codeforces Round #364 (Div. 1) A. As Fast As Possible
- 【jzoj4764】【Brothers】【模拟】
- Android网络之Volley的使用
- B树、B-树、B+树、B*树
- 使用SpringJDBC的正确开启方式
- 谈谈容器技术