JAVA面试题(一)

Java面试问题及答案

1. 解释Java中的多态性以及它是如何实现的?

问题:

在Java中,多态性是什么?请举例说明它是如何工作的。

答案:

多态性是Java的一个核心特性,它允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。在Java中,多态性主要通过方法重写(Override)和方法重载(Overload)实现。

方法重写是指子类有一个与父类中具有相同名称和参数的方法。当通过父类的引用调用该方法时,实际执行的是子类中的方法。例如:

java 复制代码
class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Dog barks");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal myAnimal = new Dog();
        myAnimal.sound(); // 输出 "Dog barks"
    }
}
相关推荐
资深web全栈开发2 小时前
[特殊字符]图解 Golang 反射机制:从底层原理看动态类型的秘密
开发语言·后端·golang
西岭千秋雪_2 小时前
Zookeeper实现分布式锁
java·分布式·后端·zookeeper·wpf
MarcoPage3 小时前
Python 字典推导式入门:一行构建键值对映射
java·linux·python
脸大是真的好~3 小时前
黑马JAVAWeb-11 请求参数为数组-XML自动封装-XML手动封装-增删改查-全局异常处理-单独异常分别处理
java
Hello.Reader5 小时前
Data Sink定义、参数与可落地示例
java·前端·网络
2401_837088506 小时前
stringRedisTemplate.opsForHash().entries
java·redis
独隅6 小时前
在 Lua 中,你可以使用 `os.date()` 函数轻松地将时间戳转换为格式化的时间字符串
开发语言·lua
思麟呀7 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释7 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释7 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust