C# 추상 클래스를 동일한 캡슐화 및 기능을 가진 Java 클래스로 변환하려고합니다. 수정자를 사용하지 않고 클래스를 선언하여 클래스를 Java에서 내부 클래스로 만들면 개인 패키지가 생성된다는 것을 알고 있습니다. 나는 클래스가 public 인 곳을 제외하고 비슷한 것을 얻고 싶다. 클래스 내의 메소드 중 일부는 public이고 일부는 내부적이다.내부 메서드가있는 Java 공용 클래스
다음과 같이 내가 외모를 수정하고 클래스,
//// This is C#
public abstract class Response
{
public String Request{get; internal set;}
public String Body{get; internal set;}
}
내가 이상적으로 다음과 같습니다 뭔가 끝내고 싶습니다
,
//// This is Java
public abstract class Response
{
public abstract String getRequest(){}
abstract String setRequest(String r){}
public abstract String getBody(){}
abstract String setBody(String b){}
}
이 달성 할 수 있습니까?
* 수정자를 사용하지 않고 클래스를 선언하여 Java에서 내부 클래스를 만들 수 있다는 사실을 알고 있으며 개인 패키지 *가 사실이 아닙니다. 액세스 수준 한정자를 설정하지 않으면 기본 액세스 권한이 있거나 동일한 패키지의 모든 클래스가이 필드/메소드에 액세스 할 수 있음을 의미합니다. –
또한 수정 자 (기본 액세스)를 사용하지 않고 선언하면 다른 패키지의 파생 클래스가 이러한 추상 작업에 액세스 할 수 없으므로 (따라서 무시할 수 있음) 바람직하지 않을 수 있습니다. – cmbaxter
다른 SO 질문에 대한 답변은 도움이 될 수 있습니다. http://stackoverflow.com/a/215505/3340 –