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

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

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

运行时行为

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();
  }
}
相关文章
|
8月前
|
安全 JavaScript 前端开发
C/C++面试题:如何理解多态?
C/C++面试题:如何理解多态?
54 0
|
存储 Java
【面试题精讲】JVM-运行时数据区-StackOverFlowError
【面试题精讲】JVM-运行时数据区-StackOverFlowError
|
6月前
|
缓存 安全 算法
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
67 0
|
5月前
|
Java 开发者
【Java基础面试十五】、 说一说你对多态的理解
这篇文章解释了多态性的概念:在Java中,子类对象可以赋给父类引用变量,运行时表现出子类的行为特征,从而允许同一个类型的变量在调用同一方法时展现出不同的行为,增强了程序的可扩展性和代码的简洁性。
【Java基础面试十五】、 说一说你对多态的理解
|
5月前
|
Java
【Java基础面试十六】、Java中的多态是怎么实现的?
这篇文章解释了Java中多态的实现机制,主要是通过继承,允许将子类实例赋给父类引用,并在运行时表现出子类的行为特征,实现这一过程通常涉及普通类、抽象类或接口的使用。
|
7月前
|
负载均衡 算法 Java
【面试宝藏】Go语言运行时机制面试题
探索Go语言运行时,了解goroutine的轻量级并发及GMP模型,包括G(协程)、M(线程)和P(处理器)。GMP调度涉及Work Stealing和Hand Off机制,实现负载均衡。文章还讨论了从协作到基于信号的抢占式调度,以及GC的三色标记算法和写屏障技术。理解这些概念有助于优化Go程序性能。
81 4
|
6月前
|
Java
Java面试题:什么是多态以及在Java中如何实现?请详细解释说明
Java面试题:什么是多态以及在Java中如何实现?请详细解释说明
56 0
|
8月前
|
存储 编译器 C语言
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(下)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
73 1
|
8月前
|
存储 编译器 Linux
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(中)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
72 1
|
8月前
|
编译器 C语言 C++
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(上)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
57 0

热门文章

最新文章