Overriding Method Using Parameter That is a Subclass?
2013-02-18 20:19
351 查看
参见 http://www.coderanch.com/t/389279/java/java/Overriding-Method-Parameter-Subclass
本来想用汉语写标题,发现实在不好说这个逻辑。。。
好吧,这个问题的答案是“这是overload不是override”。
可以参考一下程序验证:
Java代码
public class Animal {
public void talkTo(Animal a){
System.out.println("animal");
}
}
public class Cat
extends Animal {
public void talkTo(Cat c){
System.out.println("Cat");
super.talkTo(c);
}
public static
void main(String [] args){
Cat c = new Cat();
Animal a = new Animal();
c.talkTo(a);
c.talkTo(c);
}
}
本来想用汉语写标题,发现实在不好说这个逻辑。。。
好吧,这个问题的答案是“这是overload不是override”。
可以参考一下程序验证:
Java代码
public class Animal {
public void talkTo(Animal a){
System.out.println("animal");
}
}
public class Cat
extends Animal {
public void talkTo(Cat c){
System.out.println("Cat");
super.talkTo(c);
}
public static
void main(String [] args){
Cat c = new Cat();
Animal a = new Animal();
c.talkTo(a);
c.talkTo(c);
}
}
相关文章推荐
- Absent Code attribute in method that is not native or abstract in class file javax/mail/Session 解决方式
- Bean property 'esyerDao' is not writable or has an invalid setter method. Does the parameter type of
- What is the Database Initialization Parameter That is Associated to an ORA-32004 Error ?
- Bean property 'productService' is not writable or has an invalid setter method. Does the parameter t
- Bean property 'RegDao' is not writable or has an invalid setter method. Does the parameter type of t
- A 2007 Office system application does not load an add-in that is developed by using VSTO
- may be using a version of Gradle that does not contain the method.
- Transmitting Network Data Using Volley - Volley is an HTTP library that makes networking for Android
- 5.The database instance is currently using SPFILE. View the Exhibit and examine the error that you
- resin版本低报错:Absent Code attribute in method that is not native or abstract in class file javax/valida
- The parameter is (or has an element that is) the wrong kind of geometry
- How do I change the Java Virtual Machine (JVM) that MATLAB is using?
- 记录 Parameter with that position [1] did not exist; nested exception is java.lang.IllegalArgumentExce
- This is caused by library dependencies that have been compiled using Java 8 or above.
- 异常:Absent Code attribute in method that is not native or abstract in class
- Gradle DSL method not found: 'android()'Possible causes:may be using a version of Gradle that does n
- Navigation is only supported to relative URIs that are fragments, or begin with '/', or which contain ';component/'. Parameter name: uri
- xml use xslt transform method that is good preformance
- fit the “model” to the training data using that method
- call different method with the same name, parameters and return value, select which one is called using const symbol