面试题:多态是编译时行为还是运行时行为?

简介: 面试题:多态是编译时行为还是运行时行为?

面试题:多态是编译时行为还是运行时行为?

运行时行为

package com.day0125_4;
import java.util.Random;
//面试题:多态是编译时行为还是运行时行为?
//运行时行为
//证明如下:
class Animal{
  protected void eat() {
    System.out.println("animal eat food");
  }
}
class Cat extends Animal{
  protected void eat() {
    System.out.println("cat eat fish");
  }
}
class Dog extends Animal{
  protected void eat() {
    System.out.println("dog eat bone");
  }
}
class Sheep extends Animal{
  protected void eat() {
    System.out.println("sheep eat grass");
  }
}
public class Test {
  public static Animal getInstance(int key) {
    switch(key) {
    case 0:
      return new Cat();
    case 1:
      return new Dog();
    default:
      return new Sheep();
    }
  }
  public static void main(String[] args) {  
    int key =new Random().nextInt(3);
    System.out.println(key);
    Animal animal=getInstance(key);
    animal.eat();
  }
}
相关文章
|
10月前
|
安全 JavaScript 前端开发
C/C++面试题:如何理解多态?
C/C++面试题:如何理解多态?
61 0
|
存储 Java
【面试题精讲】JVM-运行时数据区-StackOverFlowError
【面试题精讲】JVM-运行时数据区-StackOverFlowError
|
16天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
76 14
|
8月前
|
缓存 安全 算法
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
80 0
|
7月前
|
Java 开发者
【Java基础面试十五】、 说一说你对多态的理解
这篇文章解释了多态性的概念:在Java中,子类对象可以赋给父类引用变量,运行时表现出子类的行为特征,从而允许同一个类型的变量在调用同一方法时展现出不同的行为,增强了程序的可扩展性和代码的简洁性。
【Java基础面试十五】、 说一说你对多态的理解
|
7月前
|
Java
【Java基础面试十六】、Java中的多态是怎么实现的?
这篇文章解释了Java中多态的实现机制,主要是通过继承,允许将子类实例赋给父类引用,并在运行时表现出子类的行为特征,实现这一过程通常涉及普通类、抽象类或接口的使用。
|
9月前
|
负载均衡 算法 Java
【面试宝藏】Go语言运行时机制面试题
探索Go语言运行时,了解goroutine的轻量级并发及GMP模型,包括G(协程)、M(线程)和P(处理器)。GMP调度涉及Work Stealing和Hand Off机制,实现负载均衡。文章还讨论了从协作到基于信号的抢占式调度,以及GC的三色标记算法和写屏障技术。理解这些概念有助于优化Go程序性能。
93 4
|
8月前
|
Java
Java面试题:什么是多态以及在Java中如何实现?请详细解释说明
Java面试题:什么是多态以及在Java中如何实现?请详细解释说明
70 0
|
10月前
|
存储 编译器 C语言
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(下)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
88 1
|
10月前
|
存储 编译器 Linux
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(中)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
81 1

热门文章

最新文章