Java 语法 索引 ----- 继承(Inheritance) 和重写(Overriding)

// Superclass (parent class)
class Fruit{
    public String flavor;
}

// Subclass (child class)
class Apple extends Fruit {
    public String variety;
}

//downcasting
Apple a = new Apple();
Fruit f = a;

Apple c = (f instanceof Apple) ? (Apple)f : null;

 

重写

class Rectangle{
    public int w = 10, h = 10;
    public int getArea() { return w * h; }
}

class Triangle extends Rectangle{
   //调用父构造函数
   public Triangle() { super(); }
   @Override
    public int getArea() { return w * h / 2; }
}

Rectangle o = new Triangle();
o.getArea(); // (50) calls Triangle's version

如果用关键字 final, 比如:  public final int getArea() { return w * h; } 这个方法不能被子类重写.

 

 

参考文献: Java Quick Syntax Reference by Mikael Olsson

转载于:https://www.cnblogs.com/timba/p/3900451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值