一位采访者问了这个问题。我回答错了。我是对的吗?
答案 0 :(得分:2)
是的,我们可以使用预定义的类名作为变量。以下代码将完美地运作
public class Test
{
public static void main(String[] args)
{
int BufferedOutputStream = 3; //BufferedOutputStream is predefined class
System.out.println(BufferedOutputStream);
}
}
也可以使用用户定义的类名作为变量名。示例
public class Test
{
public static void main(String[] args)
{
Test2 Test2 = new Test2();
System.out.println(Test2.a);
}
}
public class Test2
{
public int a = 2;
}
答案 1 :(得分:0)
我建议预定义的类名可以用作变量名,但是小写。
喜欢" Box box = new Box()"。只有" Box"只能用作类名。 "盒"可以用作对象名称。
"盒"否则被保护为类名。
答案 2 :(得分:0)
在Java中,我们可以使用预定义的类名作为变量名吗?
在Java中命名的基本规则是,您不能使用关键字作为类的名称,变量的名称,也不能使用用于包的文件夹的名称。这在Java Specification Language中说明:
<强> 3.9。关键字强>
由ASCII字母组成的50个字符序列保留用作关键字,不能用作标识符(§3.8)
关键字:
abstract continue for new switch assert default if package synchronized boolean do goto private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while
这些是Java世界中的无效名称:
int boolean = 5; //invalid!
boolean goto = false; //invalid!
String default = "string"; //invalid!
com.foo.assert.MyClass myClass = new com.foo.assert.MyClass(); //invalid! Because of assert used as folder
但是,使用Java中的任何预定义类都不会导致此类编译器错误,因为Java预定义类不是关键字:
String Integer = "foo";
System.out.println(Integer);
输出:
foo