Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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,我有两个班,图书馆和书。类库扩展了图书 类库包含一个公共静态方法:- public static int getObjCount() { return objCount; } 我是从课本上说的。像这样: int count = Library.getObjCount(); 代码正在崩溃,这是错误日志: Books.java:172: error: cannot find symbol int count = Library.getObjCo

我有两个班,图书馆和书。类库扩展了图书

类库包含一个公共静态方法:-

 public static int getObjCount() {
    return objCount;
 }
我是从课本上说的。像这样:

int count = Library.getObjCount();
代码正在崩溃,这是错误日志:

Books.java:172: error: cannot find symbol
                    int count = Library.getObjCount();

您应该同时编译这两个类:

javac Books.java Library.java

您应该同时编译这两个类:

javac Books.java Library.java

您正试图从父类访问子类方法或成员。这是不可能的。这是因为父类
Books
,无权访问子类
Library


但反之亦然,因为子类派生自父类本身。因此,它可以访问父类的所有非私有成员。

您正在尝试从父类访问子类方法或成员。这是不可能的。这是因为父类
Books
,无权访问子类
Library


但反之亦然,因为子类派生自父类本身。因此,它可以访问父类的所有非私有成员。

是否也是静态的
objCount
是否也是静态的?是的,它是静态的显示你的类库类:图书类:我已经发送了你的代码链接,你收到了吗?
objCount
是否也是静态的?是的,它是静态的显示你的类库类:图书类:我已经发送了你的代码链接,你收到了吗明白了吗?我们可以同时做父扩展子和子扩展父吗?不@SuyashEkhande。我认为这是不可能的。我想您可能听说过重写的概念,父类和子类中的函数在子类中调用同名时,子类方法重写父类方法。如果这种双向继承成为可能,它将造成巨大的混乱。此外,我建议您使用父类,即,
Books
,只为您打算整体实现的任何功能创建一个通用版本。任何进一步的细化、获取和修改,都要在子类中进行。这就是使用子类的全部意义所在。通过这样做,您也将更多地使用继承概念。我们可以同时执行父扩展子和子扩展父吗?否@SuyashEkhande。我认为这是不可能的。我想您可能听说过重写的概念,父类和子类中的函数在子类中调用同名时,子类方法重写父类方法。如果这种双向继承成为可能,它将造成巨大的混乱。此外,我建议您使用父类,即,
Books
,只为您打算整体实现的任何功能创建一个通用版本。任何进一步的细化、获取和修改,都要在子类中进行。这就是使用子类的全部意义所在。通过这样做,您也将更多地使用继承概念。