在java中是否可以使用不同数据类型的相同变量名。 我写了以下代码
/*TelnetClient client = new TelnetClient();//serverName,
port,InetAddress.getLocalHost(),port);
client.connect(serverName, port);*/
Socket client = new Socket(serverName, port,InetAddress.getLocalHost(),port);
logger.info("Just connected to " + client.getLocalAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
InputStream inFromServer = client.getInputStream();
DataInputStream in = new DataInputStream(inFromServer);
TelnetClient类变量名和Socket类变量需要相同。
有没有办法像在C ++中那样做#define功能
答案 0 :(得分:4)
是的,只要两个变量的范围不重叠,就有可能。
这将编译并运行:
public static void main (String[] args) {
{int a = 5;}
{String a = "5";}
}
然而,做上述事情的可取性是非常值得怀疑的:编译器并不关心,但是程序的人类读者将更难理解代码的含义。可读性是生产软件开发中的一个主要问题,因此通常人们不会编写这种代码。
答案 1 :(得分:-1)
有可能,两个变量可以具有相同的名称,但变量应该在不同的范围内(即范围不会相互重叠)。
但是保留两个不同变量的相同名称并不是一个好习惯,因为对于将来处理代码的用户来说这可能是不确定的。