Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哪个类的对象是一个类?_Java - Fatal编程技术网

Java 哪个类的对象是一个类?

Java 哪个类的对象是一个类?,java,Java,在这里,我把一个对象a.foo; 哪个类的对象是一个类 class A { int b; } class B extends A { public void foo() { } public static void main(String [] args){ A a = new B(); a.foo(); } } a是从类a扩展而来的类B的对象,但您将其存储在超级类型a中,因此无法访问foo方法,要调用它,有两种不同

在这里,我把一个对象a.foo; 哪个类的对象是一个类

class A {
      int b;
}

class B extends A {
    public void foo() { }

    public static void main(String [] args){
        A a = new B();
        a.foo();  
    }

}
a是从类a扩展而来的类B的对象,但您将其存储在超级类型a中,因此无法访问foo方法,要调用它,有两种不同的方法:

=>转换为B

=>以B类型存储


foo不是一个对象,而是方法调用。你的代码也不会编译,因为A没有foo方法;哪一类;s对象是a?a不是a=新B;B类对象引用了a类型的引用变量?
A a = new B();
((B)a).foo();  
B a = new B();
a.foo();