Java动态调度
这里我遇到了一个代码问题,问题是: 类Hello259{}Java动态调度,java,Java,这里我遇到了一个代码问题,问题是: 类Hello259{} class Lab259 { public static void main (String []args) { Object obj = new Hello259 () ; System.out.println (obj instanceof String) ; System.out.println (obj instanceof Hello259) ;
class Lab259 {
public static void main (String []args) {
Object obj = new Hello259 () ;
System.out.println (obj instanceof String) ;
System.out.println (obj instanceof Hello259) ;
System.out.println (obj instanceof Object) ;
}
}
这是一个错误:
Lab259.java:5: error: incompatible types
Object obj = new Hello259 () ;
^
required: Object
found: Hello259
Lab259.java:6: error: inconvertible types
System.out.println (obj instanceof String) ;
^
required: String
found: Object
Lab259.java:7: error: inconvertible types
System.out.println (obj instanceof Hello259) ;
^
required: Hello259
found: Object
3 errors
众所周知,“对象类”是所有子类的超类,那么它为什么会给出这样的错误呢。它没有遵循动态分派的概念。您有一个编译错误,因为您引用的类
Hello259
没有定义。System.out.println(“+obj instanceof String”)代码>