【发布时间】:2019-01-27 06:01:48
【问题描述】:
我正在检查一个具有以下完全相同逻辑的代码,但无法理解它是如何发生的。所以请多多包涵..! :)
class A implements I{}
class B extends A{}
class C extends B{}
interface I{}
interface I2 extends I{}
interface I3 extends I2{}
class Top{
public static void main(String[] args){
I3 ob = new A(); //Step I
}
}
这在第 1 步是不可能的,但我正在审查一个代码,其中发生了这种逻辑而没有任何错误。我可以知道这是否发生没有错误,而不是可以检查它的发生是否正确?第 1 步正确时有哪些可能性?
谢谢
【问题讨论】:
-
Java 关键字是
class和interface。不是Class和Interface。 -
您不能在 Java 中以数字开头的标识符(接口名、类名等)。所以
interface 1 {}不会编译。 -
@PrasadKarunagoda,感谢您的编辑。对我的问题有任何想法吗?
-
A不是I3对象,所以I3 ob = new A();是一个错误 -
@c0der,是的,理想情况下它应该是错误的。但它不是。还有其他可能的地方吗?