java描述一下啥是多态?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java描述一下啥是多态?相关的知识,希望对你有一定的参考价值。
/*1.要有继承关系 2.子类要重写父类的方法 3.父类的引用指向子类的对象或者借口的引用指向遵从借口的类对象*///父类
class Animal
int num = 5;
static int age = 2;
public void eat()
System.out.println("动物在吃东西");
public static void sleep()
System.out.println("动物在睡大觉");
public void run()
System.out.println("动物在乱蹿");
//子类 sloth 树獭
class sloth extends animal
int num = 10;
static int age =8;
String name="sloth";
public void eat()
system.out.println("树獭进餐");
public static void sleep()
system.out.println("有事没事就睡一觉");
public void jump()
system.out.println("跳跃 不存在的");
//打印结果
class demo1
public static void main(String[] args)
Animal ani = new sloth();
ani.eat();
ani.sleep();
ani.run();
System.out.println(ani.num);
System.out.println(sni.age);
//纯手打 多敲几遍就明白了 看着结果琢磨琢磨 或者上CSDN 狠全面的 都是大佬 参考技术A 官方解释是父类的引用指向子类的对象追问
能给个比较简单的代码解释一下吗
参考技术B多态是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的“对象引用”调用“同样的方法”但是做了不同的事情。
实现多态的三个条件(前提条件,向上转型、向下转型)
继承的存在;(继承是多态的基础,没有继承就没有多态)
子类重写父类的方法。(多态下会调用子类重写后的方法)
父类引用变量指向子类对象。(涉及子类到父类的类型转换)
向上转型 Student person = new Student()
将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换。此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法此时通过父类引用变量无法调用子类特有的方法。
向下转型 Student stu = (Student)person;
将一个指向子类对象的引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换。向下转型必须转换为父类引用指向的真实子类类型,,否则将出现ClassCastException,不是任意的强制转换。
向下转型时可以结合使用instanceof运算符进行强制类型转换,比如出现转换异常---ClassCastException
参考技术C 1,面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。2,多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
3,实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
4,多态的作用:消除类型之间的耦合关系。
5,现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助,在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。
Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。 参考技术D 1,面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。
2,多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
3,实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
4,多态的作用:消除类型之间的耦合关系。
5,现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助,在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。
Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。本回答被提问者采纳
有人可以解释一下啥是受保护的覆盖无效吗? [复制]
【中文标题】有人可以解释一下啥是受保护的覆盖无效吗? [复制]【英文标题】:Can someone please explain what is protected override void? [duplicate]有人可以解释一下什么是受保护的覆盖无效吗? [复制] 【发布时间】:2016-12-28 15:05:49 【问题描述】:我正在学习基本阶段的 xamarin。所有的函数调用都是由'protected override void'完成的。所以请任何人帮助它有什么用处。它与公共无效有何不同。
【问题讨论】:
您听说过 google.com 吗? 这是早期的“C# 简介”信息。请找一本书或其他资源来学习这门语言。 【参考方案1】:public - 每个人都可以访问此方法。 protected - 只有继承的类可以访问这个方法。
【讨论】:
【参考方案2】:-
protected - 访问修饰符(在 C# 中有 public、protected、private、internal)
覆盖 - 您覆盖上面实现范围的虚拟方法
void - 方法的返回类型
【讨论】:
以上是关于java描述一下啥是多态?的主要内容,如果未能解决你的问题,请参考以下文章