实验:工具类 God【 3.1.2 抽象依赖原则的使能工具】

本文介绍了God工具类作为抽象依赖原则的应用,详细说明了如何通过无参构造器创建对象,以及如何配置属性文件。God工具类支持从my.properties文件中读取类全名并创建对象,同时提到了类加载器在不同环境下的使用差异。文章还涵盖了属性配置文件的格式和注意事项,并提供了在BlueJ环境中使用God的指南。
摘要由CSDN通过智能技术生成

除了JDK等框架或工具中的类,自己编写的类不得使用new创建对象(Test除外)

★工具类God是抽象依赖原则的使能工具。

既然作为简单工具,其使用具有如下限制:
 God仅支持无参构造器创建对象。
 配置文件选择属性配置文件
 配置文件指定为BlueJ项目根目录下的my.properties,文件保存为UTF-8格式
 基于JDK7及以后平台,因为使用了新try语法。

【实验6:通过God创建对象】设计一个类层次如Animal及其子类Dog和Cat,有方法cry()。在Demo中通过God创建Animal对象并调用其方法。

1.如何使用God

你有两种选择,之所以需要区别两种选择,是因为两者的源代码有一点不同。
①直接使用God的源代码。可以将God的源代码(例程3-2中命名为 God0),复制粘贴到自己的BlueJ练习项目中,作为你自己的代码使用。(按照项目中建的包不同,修改package语句)。
 
package chap3.init;//通常使用打包的jar
import java.io.*;
import java.util.Properties;

public class God0{
    private God0(){}

    /**
     * @param path 属性配置文件的路径
     * @param key 键
     * @return 键对应的值
     */
    private static String getValue(String path, String key) {
        Properties props = new Properties();
        InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(path);
        try (InputStreamReader isr = new InputStreamReader(is, "UTF-8");) {//请用UTF格式保存.properties文件。
            props.load(isr);//从流中加载properties文件信息
        } catch (UnsupportedEncodingException ex) {
        } catch (IOException ex) {
        }
        return props.getProperty(key);
    }
    //简化版本,path固定为项目根目录下的my.properties
    public static Object create(String key) {
        return create("my.properties", key);
    }

    private static Object create(String path, String key) {
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值