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

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

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

运行时行为

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();
  }
}
相关文章
|
1月前
|
安全 JavaScript 前端开发
C/C++面试题:如何理解多态?
C/C++面试题:如何理解多态?
24 0
|
7月前
|
Java 关系型数据库 编译器
华为面试,说说“多态”
华为面试,说说“多态”
40 0
|
3月前
|
C++
面试题:C++多态?
面试题:C++多态?
21 0
|
5月前
|
消息中间件 前端开发 Java
同程面试:说一下多态的实现原理?
同程面试:说一下多态的实现原理?
51 1
|
6月前
|
Cloud Native Go
面试中的行为考察:展示你的人际交往能力
面试中的行为考察:展示你的人际交往能力
39 0
|
8月前
面试时通常让你默写的运行时异常与编译时异常举例
面试时通常让你默写的运行时异常与编译时异常举例
|
8月前
|
Java 关系型数据库 数据库连接
太难了!面试官让我结合案例讲讲自己对Spring事务传播行为的理解
Spring 在 TransactionDefinition 接口中规定了 7 种类型的事务传播行为。事务传播行为是 Spring 框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是 Spring 为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service 方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文对七种事务传播行为做详细介绍,内容主要代码示例的方式呈现。
|
8月前
|
Java Spring
|
10月前
|
机器学习/深度学习 人工智能 自动驾驶
强化学习从基础到进阶--案例与实践含面试必知必答[10]:模仿学习、行为克隆、逆强化学习、第三人称视角模仿学习、序列生成和聊天机器人
强化学习从基础到进阶--案例与实践含面试必知必答[10]:模仿学习、行为克隆、逆强化学习、第三人称视角模仿学习、序列生成和聊天机器人
强化学习从基础到进阶--案例与实践含面试必知必答[10]:模仿学习、行为克隆、逆强化学习、第三人称视角模仿学习、序列生成和聊天机器人
|
10月前
|
移动开发 JavaScript 算法
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
164 0