2 つのファイルがあり、1 つはローカル マシンにあり、もう 1 つは共有フォルダー (別のマシンから) にあります。
localmachine 上の私のクラスは、共有フォルダー内のファイル内のクラスから継承する必要があります。
この継承を実行するにはどうすればよいですか?
set を指定してみましたCLASSPATH=%CLASSPATH%;//(machineNo)/(foldername);
が、うまくいきませんでした。
2 つのファイルがあり、1 つはローカル マシンにあり、もう 1 つは共有フォルダー (別のマシンから) にあります。
localmachine 上の私のクラスは、共有フォルダー内のファイル内のクラスから継承する必要があります。
この継承を実行するにはどうすればよいですか?
set を指定してみましたCLASSPATH=%CLASSPATH%;//(machineNo)/(foldername);
が、うまくいきませんでした。
を使用URLClassLoader
すると、リモート サーバーからクラスとリソースをロードできるアプリケーションを簡単に開発できます。最初に、クラスを検索する URL を定義する必要があります。「/」で終わる URL は、ディレクトリを参照すると見なされます。それ以外の場合、URL は、必要に応じて開かれる JAR ファイルを参照すると見なされます。URLClassLoader のインスタンスが構築loadClass(String name)
されると、ClassLoader クラスのメソッドを使用して、指定された名前のクラスがロードされます。クラスがロードされると、インスタンスを作成できます (これは、コンストラクターが呼び出されることを意味します)。
import java.net.*;
import java.io.*;
public class MyLoader {
public static void main (String argv[]) throws Exception {
URLClassLoader loader = new URLClassLoader(new URL[] { new URL("http://www.javacourses.com/classes/") });
// Load class from class loader. argv[0] is the name of the class to be loaded
Class c = loader.loadClass (argv[0]);
// Create an instance of the class just loaded
Object o = c.newInstance();
}
}
ここで記事全文を読むことができます
継承が拡張を意味する場合、単にクラスをロードするだけでは十分ではありません。
その場で派生クラスを作成するには、cglibのようなバイトコード操作ライブラリが必要になります。(大変な作業だと言っているわけではありませんが、落とし穴がたくさんあるので注意してください :) )