2011-09-17 11 views
0

openconnection()の名前を変更することはできますか?openconnection()の名前を変更するか、切り詰めますか?

Orginal:

URL url = new URL("http://google.co.in"); 
URLConnection connection = url.**openConnection**(); 

後:

URL url = new URL("http://google.co.in"); 
URLConnection connection = url.**connect**(); 

私はちょうどそれが可能であれば不思議とどのように私はそれをやって行くだろうよ。代わりがありますか?私はこれをするために授業を作ることを考えていましたが、もし可能なら100%確信していませんでした。

< ------------------それとも---------------->

Orginal:

URL url = new URL("http://google.co.in"); 
URLConnection connection = url.**openConnection**(); 

は後:私はそれの文字列にするとき

string st1 = "open"; 
string st2 = "Connection"; 
URL url = new URL("http://google.co.in"); 
URLConnection connection = url.**st1 + st2**(); 

私はエラーを取得するが、私はそれはそれを定義するために2つを組み合わせて作るのか本当にわかりません。それ以来、私はJavaでコーディングするにはちょっと錆びています。

+0

なぜそれをしたいですか? – Mat

+0

なぜですか?私は好奇心から不思議に思っていて、それが可能かどうかを見たいと思っていました。あなたはそれをする方法を知っていますか? –

+0

@Jessica - 馬鹿げたばかげたことをすることなく、可能ではありません。 –

答えて

0

最初の部分については、直接行うことはできません。最終的なのでURLから派生することはできません。したがって、プロキシクラスを作成する必要があり、時間が浪費され、バグが発生する可能性があります。

もう1つは、reflectionを使用して並べ替えることができます。それは簡単ではない、それは高度な話題です。だから私はあなたが非常に Java言語に精通しているまでそれを避けるだろう。

あなたが達成しようとしていたことを説明したなら、多分もっと良い提案を得るでしょう。

9

この回答を塩の大きな袋でとります。このになりますが、Javaに非常に慣れていない限り、一般的にはリフレクションを嫌うことはありません。


あなたが対処する必要があります厄介な例外のすべての種類を無視して、反射で2位を達成することができます

String st1 = "open"; 
String st2 = "Connection"; 
URL url = new URL("http://google.co.in"); 
Object obj = url.getClass().getMethod(st1 + st2).invoke(url); 
URLConnection connection = (URLConnection) obj; 

参照してください:

あなたは、コードのラインから、何とか対処する必要があります潜在的な例外:


私はあなたがが、これをしたい理由は本当にわかりません。同じ最終結果を達成するには、確かにより良い方法があります。 あなたが解決しようとしているより大きな問題は何ですか?

関連する問題