对于下面的代码,我创建了一个实例变量,其类名为返回类型
class classtype{
static classtype x;
public static void main(String...a){
System.out.println(x);
}
}
上面的代码输出到null
,表明这个具有类名作为返回类型的实例变量包含字符串类型值,显然但是当我尝试初始化它时
static classtype x="1";
它会在java.Lang.String
请有人解释
答案 0 :(得分:6)
<强> ERROR1:强>
x="1";
你不能那样做
因为Classtype
不是String
类型。
<强>误差2:强>
打印null
class Classtype{
static Classtype x = new Classtype();
public static void main(String...a){
System.out.println(x);
}
}
确保默认情况下System.out.println(x);
打印对象toString
方法。
由于您的x
尚未初始化,因此现在为空。
按照print(println
调用print
)方法
打印一个字符串。如果参数为null,那么字符串&#34; null&#34;打印出来。否则,字符串的字符将根据平台的默认字符编码转换为字节,并且这些字节的写入方式与write(int)方法完全相同。
在String
课程中打印需要ovveride
toString
Classtype
方法。
并遵循java命名约定。类名以大写字母开头。
随着您的所有代码变为
public class Classtype {
static Classtype x = new Classtype();
public static void main(String...a){
System.out.println(x);
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "This is ClassType toString";
}
}