publc class abstract People{ //喊叫方法 public void yellOut(String lanuage){ System.out.println("哈哈哈哈哈哈!"); }; } class Lubenwei extends People{ public void yellOut(String lanuage){ System.out.println("从现在开始这里叫做牛客网广场!"); }; } class Mafeifei extends People{ public void yellOut(String lanuage){ System.out.println("伞兵二号mafeifei准备就绪!"); }; }
//一个类可以派生出多个特殊类 //派生类即继承关系 class Water { } class IceWater extends Water{ } class HotWater extends Water{ } // Water 类可以派生出 IceWater和HotWater两个子类 // 子类具有父类所不具有的特殊属性
// 一个对象在不同的运行环境中可以有不同的变体 // 这个地方我不知道是不是可以拿运行环境来说事, // 运行环境是不是我理解的太大了,jvm? or other
// 针对一“消息”,不同的对象可以以适合自身的方式加以响应 // 消息 在这里我并不是很理解是个什么东东 // 多态简单说就是在不同场景下存在着多种不同的状态 // 比如一个接口可以允许你对他进行不同的实现方式
// 一个对象可以是由多个其他对象组合而成的 // 多个对象组成一个对象 不能称之为多态 class Worker { Employee employee; Company company; Salary salary; } // 是由多个对象组成,但是在创建worker对象时 得到的总会一致,不存在多态的概念
以下内容来自ChatGPT,请大家参考:
面向对象方法的多态性是指不同类的对象可以对同一消息做出不同的响应。它是面向对象编程中的一个重要特征,有两种主要形式:静态多态性(重载)和动态多态性(覆盖)。
静态多态性(重载)发生在同一个类中,通过方法名相同但参数列表不同的方法实现。在编译时确定调用哪个方法。
动态多态性(覆盖)是指子类可以覆盖父类的方法,使得通过父类引用调用子类方法时,实际调用的是子类的方法。这是基于继承和运行时的特性,可以让不同的子类对象对相同的方法名做出不同的响应。
所以,方法的多态性强调的是同一消息(方法调用)可以在不同的对象上引发不同的行为,而不是派生出多个特殊类。多态性是面向对象编程的核心概念之一,它有助于实现灵活、可扩展的代码结构。
A、错误,描述的是继承的特点
B、D 错误,因为封装、继承和多态性都是与类相关的概念,而不是特定对象的特性。