2016-06-17 5 views
1

생성자 자체와 다른 클래스의 객체를 초기화하는 데 생성자를 사용하고 있습니다. 생성자는 문자열을 가져오고 객체 인스턴스를 반환합니다. 하지만 생성자가 정의 된 클래스에 객체를 만드는 클래스에서 문자열을 얻으려면 어떻게해야합니까? 내 프로젝트는 다음과 같이이다 :다른 클래스의 Java 생성자 사용

생성자와 클래스 :이 개체 인스턴스 생성하기 위해 문자열로 생성자를 사용하는 클래스입니다

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에서 사용하는 문자열을 사용하지만 어떻게해야할지 모르겠다.

+0

가 왜 필드를 사용할 수 있습니까? – Compass

답변

1

그러나 생성자가 정의 된 클래스에 개체를 만드는 클래스에서 문자열을 가져 오는 방법은 무엇입니까?

구성 요소는 String을 필드에 저장해야하며 String을 검색하는 메서드를 호출해야합니다. 이것에 관해서 마술은 없습니다. 그것은 당신이 스스로 코딩해야하는 것입니다.

0

올바르게 이해하면 UriParserImplementation의 생성자에 uri 문자열을 전달하고 나중에 인스턴스를 생성 한 후 UriParserImplementation에 액세스 할 수 있습니까? 이런 경우

, 당신은 생성자에서 UriParserImplementation 클래스에 속성/필드를 추가하고 초기화해야합니다

public class UriParserImplementation implements UriParser { 
    String originalUri; 

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

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