2015-01-02 3 views
0

Java에 값에 따라 메소드가 컴파일되지 않도록 할 수있는 무언가가 있습니까? 다음과 같이하십시오 :java의 메소드에 #ifdef와 같은 것이 있습니까?

#ifdef CLIENT 
public void drawToScreen() { 

} 
#endif 

#ifdef SERVER 
public void sendPacketToClient() { 

} 
#endif 

두 개의 프로그램 버전, 하나의 클라이언트와 하나의 서버가 있다면 어떻게 할 수 있습니까? 수업에도이 방법이 있습니까?

+1

아니요. 이것은 매우 유지할 수없는 느낌입니다. –

+1

아니요, 가능하다해도 왜 그랬습니까? – OldProgrammer

+3

아니요, (단지 java와 함께) 없습니다. 귀하의 구체적인 예를 들어, 나는 두 개의 서로 다른 응용 프로그램을 개발할 것입니다. 하나는 서버, 다른 하나는 클라이언트입니다. 메소드가 조건부로 선언 된 하나의 애플리케이션에서 서버와 클라이언트를 모두 만들면 모든 것을 혼란스럽게 만듭니다. – BackSlash

답변

0

별로 쉽지 않습니다. 다른 의견은 모두이 불가능하다고 말하지만, 실제로 당신이 정말로 원한다면bytecode manipulation library을 사용할 수 있습니다 당신

입니다. JavaAssist 웹 사이트에서 다음과 같이 말합니다.

Javassist (Java Programming Assistant)는 Java 바이트 코드 조작을 간단하게 만듭니다. 자바에서 바이트 코드를 편집하기위한 클래스 라이브러리입니다. Java 프로그램이 런타임시 새 클래스를 정의하고 클래스 파일을로드 할 때 클래스 파일을 수정할 수 있습니다.

하지만 가장 중요한 질문은 무엇입니까? 그것은 너무 많은 작업과별로 유용하지 않습니다.

관련 문제