2017-11-11 1 views
1

방문자 패턴 https://en.wikipedia.org/wiki/Visitor_pattern에 대한 기사를 읽었습니다. 이 페이지에서 자바 "소스 파일"을 복사하여 실행하고 싶습니다. 나는 각 클래스를 따로 따로 복사하는 것을 피하고 싶다. 그러나 java는 하나의 파일에서 여러 클래스를 허용하지 않습니다. 이클립스에서 가능합니까? 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 내가 복사 할 코드의인터넷에서 Java 복사 소스 코드를 Eclipse에 붙여넣고 실행하십시오.

계획 :

interface CarElement { 
    ... 
} 

interface CarElementVisitor { 
    ... 
} 

class Car implements CarElement { 
    ... 
} 

... 

class CarElementPrintVisitor implements CarElementVisitor { 
    ... 
} 

public class VisitorDemo { 
    ... 
} 
+0

그들은 모두 하나의 큰 클래스 안에 캡슐화 할 수 있습니다. 'Main'. 그런 다음 아마도 그것들을'public static class'라고 만들어야 할 것입니다. – luk2302

+0

몇개의 강의가 여기에 있습니까? 각 클래스를 자체 파일에 복사/붙여 넣는 것이 정말 부담스럽지 않습니까? 자바가 쓰여지는 방식대로 익숙해 져야합니다. –

+0

프로젝트를 작성할 때 때로는 새로운 기능 (예 : 클래스와 요소를 가진 arraylist)을 테스트하고 작동 방법을 확인해야합니다. 내가 가지고있는 코드를 변경하고 싶지 않습니다. 그래서 (foo {}, bar {})와 같은 몇 가지 새로운 클래스를 만들고이 새로운 기능을 내부에서 시도해 보겠습니다. 하지만 내 견해가 엉망입니다. 어떤 수업이 시험이고 어떤 것이 내 프로젝트에 속하는지 알 수 없습니다. – grzegorzs

답변

0

즉 당신이 찾고있는,하지만 자바는 내부 클래스를 허용 무엇인지 확실하지. 패키지 탐색기보기에 자바 소스 폴더에 개별적으로

class Main { 

    interface CarElement { 
     ... 
    } 

    interface CarElementVisitor { 
     ... 
    } 

    class Car implements CarElement { 
     ... 
    } 

    ... 

    class CarElementPrintVisitor implements CarElementVisitor { 
     ... 
    } 

    public class VisitorDemo { 
     ... 
    } 

} 
+0

클래스를 '정적'으로 선언해야합니다. –

0

복사 하나의 클래스의 소스 다음 붙여 넣습니다 : 그냥 하나 개의 큰 클래스로 복사 한 모든 클래스를 넣어. 관련 파일이 생성됩니다.

관련 문제