首页 / JAVA / JAVA 面向对象中的多态
JAVA 面向对象中的多态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA 面向对象中的多态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1707字,纯文字阅读大概需要3分钟。
内容图文
多态是继封装、继承之后,面向对象的第三大特性。 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。 Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。 Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。 如Student类可以为Person类的子类。那么一个Student对象既可以赋值给一个Student类型的引用,也可以赋值给一个Person类型的引用。 最终多态体现为父类引用变量可以指向子类对象。 多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。 在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
1
public
class
Father {
2
public
void
say() {
3 System.out.println("This is Father‘s word");
4 myhobby();
5 }
6 7publicvoid myhobby() {
8 System.out.println("This is Father‘s hobby");
9 }
10 }
1
public
class Son extends Father {
2 3private String sonname;
4 5public String getSonname() {
6return sonname;
7 }
8 9publicvoid setSonname(String sonname) {
10this.sonname = sonname;
11 }
1213publicvoid say(){
14 System.out.println("This is Son‘s word");
15 }
161718publicvoid myhobby(String sonname){
19 System.out.println("This‘s Son‘s hobby for String " + sonname);
20 }
2122 }
我是测试类
public
class
testDuotai {
public
static
void
main(String[] args) {
Father father1 = new Son();
System.out.println("实例化一个Son对象,用父亲接收");
father1.say();
father1.myhobby();
Son son = new Son();
System.out.println("实例化一个Son对象,用Son接收");
son.say();
son.myhobby();
son.myhobby(son.getSonname());
}
}
Java实现多态有三个必要条件:继承、重写、向上转型。
继承:在多态中必须存在有继承关系的子类和父类。
重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。
对于Java而言,它多态的实现机制遵循一个原则:
当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。
原文:https://www.cnblogs.com/qianjinyan/p/10538137.html
内容总结
以上是互联网集市为您收集整理的JAVA 面向对象中的多态全部内容,希望文章能够帮你解决JAVA 面向对象中的多态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。