Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java构造函数在不同类中的使用_Java_Class_Constructor_Uri - Fatal编程技术网

Java构造函数在不同类中的使用

Java构造函数在不同类中的使用,java,class,constructor,uri,Java,Class,Constructor,Uri,我正在使用构造函数在不同于构造函数本身的类中初始化对象。构造函数获取一个字符串并返回一个对象实例。但是如何从创建对象的类中获取字符串,并将其传递到定义构造函数的类中呢? 我的项目是这样的: 具有构造函数的类: public class UriParserImplementation implements UriParser { @Override public Uri parse() { return null; } public UriParserImplementation

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

具有构造函数的类:

public class UriParserImplementation implements UriParser {

@Override
public Uri parse() {    
    return null;
}
public UriParserImplementation(String uri) {
}
}
public class UriParserImplementation implements UriParser {
    String originalUri;

    public UriParserImplementation(String uri) {
        originalUri = uri;
    }

    public parse() {
        // you can access originalUri here
    }
这是使用带字符串的构造函数创建对象实例的类:

public final class UriParserFactory {
    public static UriParser create(String uri) {
        UriParser parser = new UriParserImplementation(uri);
        return parser;
    }
}
我想在UriParserFactory的实现中使用UriParserFactory使用的字符串,但我不知道怎么做

但是如何从创建对象的类中获取字符串,并将其传递到定义构造函数的类中呢


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

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

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

public class UriParserImplementation implements UriParser {

@Override
public Uri parse() {    
    return null;
}
public UriParserImplementation(String uri) {
}
}
public class UriParserImplementation implements UriParser {
    String originalUri;

    public UriParserImplementation(String uri) {
        originalUri = uri;
    }

    public parse() {
        // you can access originalUri here
    }

为什么不使用字段?