Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重命名openconnection()还是将其拆分?_Java_Class_Url - Fatal编程技术网

Java 重命名openconnection()还是将其拆分?

Java 重命名openconnection()还是将其拆分?,java,class,url,Java,Class,Url,是否可以重命名openconnection() 原始: URL url = new URL("http://google.co.in"); URLConnection connection = url.**openConnection**(); URL url = new URL("http://google.co.in"); URLConnection connection = url.**openConnection**(); 之后: URL url = new URL("http://

是否可以重命名openconnection()

原始:

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

URL url = new URL("http://google.co.in");
URLConnection connection = url.**connect**();
string st1 = "open";
string st2 = "Connection";
URL url = new URL("http://google.co.in");
URLConnection connection = url.**st1 + st2**();
我只是想知道这是否可能,以及我将如何着手去做。还有别的选择吗?我正考虑开一门课来做这件事,但我不能100%确定这是否可行

原始:

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

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

当我将其设置为字符串时,会出现一个错误,但我不确定如何将两者结合起来来定义它。如果是这样的话,我对用Java编码有点生疏了。

第一部分,你不能直接这么做。您不能从
URL
派生,因为它是最终的,所以您必须编写一个代理类,这将浪费时间,并可能引入bug

对于第二个,您可以使用。这不是一件小事,这是一个高级话题。因此,在您非常熟悉Java语言之前,我会尽量避免这种情况


如果你解释了你想要实现的目标,也许你会得到更好的建议。

对这个答案不屑一顾。这会管用,但除非你对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;
见:

您必须以某种方式处理一行代码中的潜在异常:



不过,我不太清楚你为什么要这么做。几乎可以肯定,有一种更好的方法可以实现同样的最终结果您要解决的更大问题是什么?

为什么要这样做?为什么不?我只是出于好奇,想知道这是否可行。你知道怎么做吗?@Jessica-如果不做愚蠢的事,这是不可能的。这种改变没有实际价值。除了让那些看你的代码并且熟悉标准API的人感到困惑之外,你还能从中得到什么呢?@Jessica Roth-那么你为什么不解释一下“值”是什么呢。。。因为我们大多数人认为这就像单腿站立唱“上帝保佑女王”一样有用。