面试题58(关于Java方法参数传递的特性)
时间:2022-05-10
本文章向大家介绍面试题58(关于Java方法参数传递的特性),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
面试题58
2018年1月11日
本期题目
(单选题)下列程序输出结果是什么。?
public class Test1 {
public static void main(String[] args) {
Father f = new Father();
Father c = new Child();
System.out.println(f.getName());
System.out.println(c.getName());
}
}
class Father {
public static String getName() {
return "Father";
}
}
class Child extends Father {
public static String getName() {
return "Child";
}
}
A Father Father
B Father Child
C 编译失败
D 以上答案都不对
考点:考察求职者对Java方法参数传递特性的理解
出现频率:★★★★★
【面试题分析】
因为这两个getName方法是静态方法,所以在内存中的地址空间是固定的,根本不存在冲突的问题。也就是说,这两个方法在内存中占用了不同的空间,而具体执行哪一个,则要看是由哪个类来调用的,因为是静态方法,而且两个引用都是Father的所以只会调用Father的方法。
所以参考答案是 (A)
扩展知识:本题容易混淆,有些读者想当然选择Father Child 的输出结果(覆盖),如果是这样的结果,代码应进行如下修改
public class Test1 {
public static void main(String[] args) {
Father f = new Father();
Father c = new Child();
System.out.println(f.getName());
System.out.println(c.getName());
}
}
class Father {
//跟上面相比把static去掉
public String getName() {
return "Father";
}
}
class Child extends Father {
//跟上面相比把static去掉
public String getName() {
return "Child";
}
}
- 【问底】严澜:数据挖掘入门——分词
- 机器学习-简单线性回归教程
- NSA(美国国安局)泄漏Exploit分析
- 详解Windows Shim的攻防利用
- 基于Github的源码白盒扫描工具Raptor
- 把业务逻辑变成数据结构和SQL语句的例子。自然架构改成自然框架
- 【自然框架】之通用权限(六):权限到节点
- 【自然框架】之“元数据”的威力
- 周末娱乐:讲真,这才是我所说黑客的定义!
- 数据访问函数库的使用方法(一)——添加修改数据
- 数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法
- “数据访问函数库”(DataAccessLibrary for .net2.0 )源代码下载 09.06.15更新
- 数据访问函数库 for ado.net2.0
- 【问底】静行:FastJSON实现详解
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 详解Android(共享元素)转场动画开发实践
- Android自定义View中attrs.xml的实例详解
- Android开发之缓冲dialog对话框创建、使用与封装操作
- Windows 10 下安装 Apache 2.4.41的教程
- Android基础教程数据存储之文件存储
- 关于Android短信验证码的获取的示例
- Linux下制作给ARM开发板使用的文件系统
- Android开发之ProgressBar字体随着进度条的加载而滚动
- Android 动态注册监听网络变化实例详解
- linux 服务器自动备份脚本的方法(mysql、附件备份)
- 详解Android中Glide与CircleImageView加载圆形图片的问题
- android全局监控click事件的四种方式(小结)
- Linux下如何永久修改主机名的方法步骤
- android与asp.net服务端共享session的方法详解
- Android实现多个连续带数字圆圈效果