Java:如何从超类访问子类方法的实现

Java:如何从超类访问子类方法的实现,java,inheritance,Java,Inheritance,我需要理解这一点,现在我已经明白了这一点,我想我应该把它放在那里,可能会帮助一些人: 如何访问超类中的子类提供的方法的实现 考虑这样一种情况:您正在一个类中实现一个方法,该类最终将被其他类扩展。您的类需要的信息只有在子类在运行时提供后才可用。如何使用运行时可用的方法?请考虑以下内容: 以及实现此接口的抽象类: abstract class Cat implements Animal { public bool isVertebrate() {return true;} public void

我需要理解这一点,现在我已经明白了这一点,我想我应该把它放在那里,可能会帮助一些人:

如何访问超类中的子类提供的方法的实现

考虑这样一种情况:您正在一个类中实现一个方法,该类最终将被其他类扩展。您的类需要的信息只有在子类在运行时提供后才可用。如何使用运行时可用的方法?

请考虑以下内容:

以及实现此接口的抽象类:

abstract class Cat implements Animal {

public bool isVertebrate() {return true;}

public void dealWithCat(){
if (isDomesticable()){
 ...
   }
}
但IsDomeSciable的实现委托给子类:

public class Tiger extends Cat {

public bool isDomesticable(){
return false;
}

因为Cat是抽象的,所以不能实例化它。它可以免费为某些接口方法提供实现,但不必为每个方法都提供。它没有提供实现的方法必须由子类提供。在运行时,超类中的方法从子类得到实现。因此,在我们的示例中,IsDomesticapable的实现不是由Cat提供的,而是后来由Tiger实现的。

要写出一个好的自我回答,需要一个好的问题。我建议你的问题要符合标准。七个自答问题必须符合规则。问题必须解释问题,给出简短的示例代码等。不清楚你的答案、你的问题和你的标题之间的关系到底是什么。这只是标题的重复。你需要做的是解释这个问题。什么类型的访问?为什么需要访问实现?什么情况让你需要了解这一点?
public class Tiger extends Cat {

public bool isDomesticable(){
return false;
}