【问题标题】:Java constructor usage in different classesJava构造函数在不同类中的使用
【发布时间】:2016-06-17 17:55:20
【问题描述】:

我正在使用构造函数来初始化与构造函数本身不同的类中的对象。构造函数获取一个字符串并返回一个对象实例。但是如何从创建对象的类中获取字符串到定义构造函数的类呢? 我的项目是这样的:

带有构造函数的类:

public class UriParserImplementation implements UriParser {

@Override
public Uri parse() {    
    return null;
}
public UriParserImplementation(String uri) {
}
}

这是使用带有字符串的构造函数创建对象实例的类:

public final class UriParserFactory {
    public static UriParser create(String uri) {
        UriParser parser = new UriParserImplementation(uri);
        return parser;
    }
}

我想在 UriParserImplementation 中使用 UriParserFactory 使用的字符串,但我不知道该怎么做。

【问题讨论】:

  • 为什么不使用字段?

标签: java class constructor uri


【解决方案1】:

但是如何从创建对象的类中获取字符串到定义了构造函数的类呢?

组件需要将字符串保存在字段中,需要调用获取字符串的方法。这没有什么神奇之处,你必须自己编写代码。

【讨论】:

    【解决方案2】:

    如果我理解正确,您想将uri 字符串传递给UriParserImplementation 的构造函数,然后在创建实例后能够在UriParserImplementation 中访问它?

    如果是这种情况,则需要在UriParserImplementation类中添加一个属性/字段,并在构造函数中对其进行初始化:

    public class UriParserImplementation implements UriParser {
        String originalUri;
    
        public UriParserImplementation(String uri) {
            originalUri = uri;
        }
    
        public parse() {
            // you can access originalUri here
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 2023-04-03
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多