java - 在java中用不同的参数类型覆盖子类中的方法
问题描述
我的班级结构如下所示 -
public class A {
public void print(A a) {
System.out.println("Class A");
}
}
public class B extends A {
public void print(B b) {
System.out.println("Class B");
}
}
如果在测试课上我这样做-
A a = new B();
a.print(new A());
a.print(new B());
结果应该是什么?我期待它是压倒一切的,如果我传递 A 的对象,它会给我强制转换异常,但这并没有发生。在每种情况下,无论您是从子对象还是父对象调用它,它都会调用父方法。有人可以描述一下它背后的概念吗?
解决方案
推荐阅读
- python - 为什么在我命名图层时会发生此错误(TypeError: call() got an unexpected keyword argument 'name')?
- sql-server - 插入删除的“魔术”表中的行顺序
- laravel - 如何从 laravel 的路由列表中删除重复/不需要的身份验证路由?
- jenkins - 用于在 Jenkins 参数值中列出 S3 文件的 Groovy 脚本
- spacy - 了解 spaCy 股票实体类型及其应用
- python - 在二维多边形点数组中查找最近点
- javascript - 无法验证输入中的数据并在 javascript 中创建对象
- python - 发布抓取统计信息收集
- php - 如何使用 php 将数据放入 mysql 数据库中
- sql - 数据库中已经有一个名为“#TempTableName”的对象?