多态:一个对象,多种形态, 父类可以代表子类
多态下创建对象:
父类 对象名 = new 子类([参数]);
引用类型 引用对象 = new 实际类型([参数]);
注: 引用对象只能调用父类中存在或者重写的方法
代码:
package com.zking.test;
public class Shape {
/**
* 图形类(父类)
area();面积方法
girth();周长方法
*/
public void zc() {}
public void mj() {}
}
子类:长方形
package com.zking.test;
public class Rect extends Shape{
/**
* 长方形
* 属性:长,宽
方法:area();面积方法
girth();周长方法
*/
double c;
double k;
public void mj() {
System.out.println("长方形面积:"+c*k);
}
public void zc() {
System.out.println("长方形的周长:"+2*(c+k));
}
}
测试类
package com.zking.test;
public class TestShape {
public static void main(String[] args) {
// 定义一个长度为4的图形数组,添加四个图形对象到数组中,
Shape[] s=new Shape[4];
// 长方形
Rect b=new Rect ();
b.c=4;
b.k=5;
//把两个图形放到数组中
s[0]=a;
// 遍历数组求出每一个图形的周长和面积
for (int i = 0; i < s.length; i++) {
s[i].zc();
s[i].mj();
}
}
}