2017-11-11 2 views
1

私はビジターパターンhttps://en.wikipedia.org/wiki/Visitor_patternに関する記事を読んでいます。私は、このページからEclipseにjavaの "source file"をコピーして実行したいと思います。私はそれぞれのクラスを別々にコピーして名前を付けないようにしたい。しかし、javaは1つのファイルで複数のクラスを許可しません。それは日食で可能ですか?この問題を解決する最善の方法は何ですか?インターネットからJavaコピーのソースコードをEclipseに貼り付けて実行してください

私がコピーしたいコードのスキーム:

interface CarElement { 
    ... 
} 

interface CarElementVisitor { 
    ... 
} 

class Car implements CarElement { 
    ... 
} 

... 

class CarElementPrintVisitor implements CarElementVisitor { 
    ... 
} 

public class VisitorDemo { 
    ... 
} 
+0

これらはすべて、1つの大きなクラスの内部にカプセル化できます。 'メイン'。おそらくそれらを 'public static class'とする必要があります。 – luk2302

+0

あなたはここでいくつのクラスについて話していますか?各クラスをそれ自身のファイルにコピー/ペーストするのは本当に面倒ですか? Javaが書かれているように、あなたはそれに慣れるべきです。 –

+0

私はプロジェクトを書くときに、新しい機能(例えば、要素をクラスとして持つarraylist)をテストし、それらの動作を確認する必要があることがあります。私は自分のコードを変更したくありません。だから私は(foo {}、bar {})のようないくつかの新しいクラスを作り、それらの内部でこの新しい機能を試しています。しかし、私は自分の見解では混乱しています。私はどのクラスがテストのものなのか、どのクラスが私のプロジェクトに属するのか分かりません。 – grzegorzs

答えて

0

ないそれはあなたが探しているものだが、Javaが内部クラスを許可しないかどうか確認してください。個別

class Main { 

    interface CarElement { 
     ... 
    } 

    interface CarElementVisitor { 
     ... 
    } 

    class Car implements CarElement { 
     ... 
    } 

    ... 

    class CarElementPrintVisitor implements CarElementVisitor { 
     ... 
    } 

    public class VisitorDemo { 
     ... 
    } 

} 
+0

クラスは静的に宣言する必要があります –

0

コピー単一のクラスのソース、その後パッケージ・エクスプローラービューでJava ソースフォルダに貼り付け:ちょうどあなたが一つの大きなクラスにコピーされたクラスのすべてを置きます。関連するファイルが作成されます。

関連する問題