学习周报-4

继承与多态
继承:Java语言继承充分体现了遗传和变异的特点,通过继承可以在已有类的基础上,添加新的变量的方法来创建新类,可以有效地组织程序结构,明确类间的关系。
例题5-1 在圆类基础上,添加新的变量和方法扩展成圆柱体类,实现继承

class Circle{
	double radius=10;
	public double getArea(){
		return Math.PI*radius*radius;
		}
	}
class Cylinder extends Circle{
	double height=100;
	public double getVolume(){
		return getArea()*height;
	}
}
public class Ex05_1 {
	public static void main(String[] args){
		Circle o=new Circle();
		Cylinder o=new Cylinder();
		System.out.println("Circle o radius="+ o.radius);
		System.out.println("Circle o Area=" +o.getArea());
		System.out.println("Cylinder obj radius="+obj.radius);
		System.out.println("Cylinder obj Area="+obj.getArea());	
		System,out.println("Cylinder obj volune="+obj.getArea());
		obj=o;//非法,类型不兼容。
		o=obj;
		System.out.println("after o=obj,Area="+ o.getArea());//非法,Circle类型没有getVolume()成员
		

(1)继承性:从程序运行结果可知,Cylinder类拥有实例变量radius、实例方法getArea()。这是从Circle类继承来的。Circle称为父类或超类,Cylinder称为子类。
(2)扩展性:Cylinder类在继承了超类Circle变量和方法的基础上,添加新的变量height和新的方法getVolume()。子类一般比超类拥有更多成员。
(3)“is a”特性:o=obj,可以;obj=o;不行。这说明一个子类实例可以付给一个超类类型变量,反之不行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值