Java 中多态的概念以及前提条件

多态的概念
 * 一个事物在不同时刻的体现(堆内存中对象形式)
 * 多态的前提条件:
 * 1)必须有继承关系(继承的好处第三点作为多态的前提条件)
 *     如果没有继承谈不上多态
 * 2)方法重写,子类继承父类,将父类的功能覆盖掉,使子类最具体的功能
 * 3)父类引用指向子类对象
 *         父类名 对象名=new 子类名();(向上转型)
 * 多态的成员变量:
 *         编译看左边,运行看左边
 *     (等号左边编译通过,说明Fu类存在这个变量;运行看左边,访问的是Fu类的变量)
 * 成员方法:
 *         编译看左,运行看右
 * (等号左边编译通过,说明Fu类存在这个方法,运行看右,子类出现和父类一模一样的方法声明:方法重写)
 * 静态的成员方法:
 *         编译看左,运行看左!
 * (静态的算不上方法重写,跟类有直接关系,随着类的加载而加载)
 * 构造方法:存在继承关系(还是分层初始化)先让父类初始化,然后是子类初始化
 * */

//定义一个父类
class Fu{
	public int num=100;
	public void show() {
		System.out.println("show Fu");
	}
	public static void function() {
		System.out.println("function Fu");
	}
}
//子类

class Zi extends Fu{
	public int num2=200;
	public int num=50;
	public void show() {
		System.out.println("show Zi");
	}
	public static void function() {
		System.out.println("function Zi");
	}
}
//测试类
public class DouTaiDemo {
	public static void main(String[] args) {
		//创建对象:多态的形式
		//父类引用指向子类
		Fu f=new Zi();
		System.out.println(f.num);
		f.show();
		f.function();
	}
}

 

你可能感兴趣的:(JAVA笔记,java)