tl;dr : このクラスを置き換えずに既存のクラスにメソッドを追加する方法は?
説明:
JShellで次のコマンドを実行すると:
public class TestClass {}
次の出力が出力されます。
created class TestClass
このコマンドをもう一度実行すると、次の出力が得られます。
modified class TestClass
以下のように、1 つのメソッドでクラスを作成しましょう。
public class TestClass {
public static void testMethod1() {
System.out.println("In testMethod1");
}
}
出力が以前のクラスの上書きとは少し異なることに注意してください。
replaced class TestClass
実行testMethod1
は正常に終了しIn testMethod1
、コンソールに出力されます。
TestClass
を失うことなく、既存のメソッドに新しいメソッドを追加したいと思いtestMethod1
ます。したがって、次のスニペットを実行します。
public class TestClass {
public static void testMethod2() {
System.out.println("In testMethod2");
}
}
...そしてtestMethod1
、全体TestClass
が置き換えられているため、失われています。
上書きせずに既存のクラスに新しいメソッドを追加するにはどうすればよいですか? 10 個のメソッドを書いたらどうなるでしょうか。クラスに追加したい新しいメソッドの隣に既存のメソッドを書き留めるべきですか? JShell は、警告の形で、置き換えられるクラスについてユーザーにプロンプトを出すべきではありませんか?
ヒントやヘルプをいただければ幸いです。