Java学习之多态

来源:互联网 发布:百度人工智能研究 编辑:程序博客网 时间:2024/05/16 06:24

多态:同一个对象,在不同时刻表现出来的不同状态

前提:

A:有继承关系

B:有方法的重写(不是必要条件,但是只有有了方法重写多态才有意义)

C:有父类的引用指向子类的对象

Fu f = new Fu();

Zi z = new Zi();

Fu f = new Zi();

左边:父类的引用,

右边:子类的对象

成员访问特点

A:成员变量

编译看左边,运行看左边

B:构造方法

子类构造默认访问父类的无参构造

C:成员方法(重点理解)

编译看左边,运行看右边

为什么变量和方法不一样呢?

方法重写。

D:静态成员方法

编译看左边,运行看左边

因为静态的内容是和类相关的,与对象无关。

分类

具体类多态,抽象类多态,接口多态

package com.edu_03;class Fu {public void show() {System.out.println("fu show");}}class Zi extends Fu {public void show() {System.out.println("zi show");}public void method() {System.out.println("zi method");}}class DuoTaiTest {public static void main(String[] args) {Fu f = new Zi();//f.method();//这里运行出错,父类中没有method方法f.show();//zi show 这里运行了子类中重写的方法}}



0 0
原创粉丝点击