具有类名作为返回类型的java实例变量

时间:2013-09-30 07:14:41

标签: java static instance-variables return-type

对于下面的代码,我创建了一个实例变量,其类名为返回类型

class classtype{
    static classtype x;

    public static void main(String...a){
         System.out.println(x);
    }
}

上面的代码输出到null,表明这个具有类名作为返回类型的实例变量包含字符串类型值,显然但是当我尝试初始化它时

static classtype x="1";

它会在java.Lang.String

中找到类型不匹配错误

请有人解释

1 个答案:

答案 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尚未初始化,因此现在为空。

按照printprintln调用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";
        }

}