interface Inter
{
public static final NUM=3;
public abstract void show();
}
class Test implements Inter
{
public void show(){}
}
class InterDemo
{
public static void main(String[] args)
{
Test t = new Test()//这里木有;
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);//请问 这三种 打印 都对吗 生成几个class文件 为什么 解释下最后一个
}
}
现在3种打印都会报错,漏洞爆出哦,一个都不会生成class文件
public static final NUM=3;这一个NUM居然没有类型
要是改成 public static final int NUM=3; 这样,第三种打印还可以打印。
interface Inter
{
public static final NUM=3;
public abstract void show();
}
class Test implements Inter
{
public void show(){}
}
class InterDemo
{
public static void main(String[] args)
{
Test t = new Test()
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);//请问 这三种 打印 都对吗 生成几个class文件 为什么 解释下最后一个
}
}
interface Inter
{
public static final int NUM=3;
public abstract void show();
}
class Test implements Inter
{
public void show(){}
}
class Demo19
{
public static void main(String[] args)
{
Test t = new Test();
System.out.println(t.NUM); //都能够正常打印啊 System.out.println(Test.NUM);
System.out.println(Inter.NUM);//请问 这三种 打印 都对吗 生成几个class文件 为什么 解释下最后一个
System.out.println(Inter.class);
System.out.println(Test.class);
System.out.println(Test.class == t.getClass()); 一共两份class 没算主函数所在Demo19类,若算所有被加载的那lang包里的多了去了
}
}