Java第九课

java三大特性:封装、继承、多态
多态:一个命令、多种形态
引用变量的两种类型
    编译时类型
    运行时类型
多态存在的三个必要条件
    1.	继承
    2.	重写父类方法
    3.	父类引用指向子类的对象
向上转型
    1.	父类只能调用自己已有的属性和方法,不能调用子类的
    2.	当子类的属性隐藏了父类的属性,向上转型使用的还是父类的属性。
    3.	当子类重写了父类方法,向上转型调用的就是子类的方法
    4.	instanceof :判断这个对象是否是类的实例
抽象类(abstract)
    避免子类设计的随意性
        特性
            1.	抽象方法必须写在抽象类中
            2.	抽象方法没有方法体
            3.	抽象类中可以有普通方法、属性、构造器,抽象类不能被实例化,构造器只能被子类调用
            4.	抽象类用来被继承
            5.	抽象方法必须被子类实现

复制代码

作业:创建一个抽象类Rodent(啮齿动物):Mouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)这样的继承层次结构。在基类中,提供对所有的Rodent都通用的方法,在子类中,根据特定的Rodent类型覆盖这些方法,以便执行不同的行为。创建一个Robent数组,填充不同的Rodent类型,然后调用基类方法,观察发生什么情况。

public static void main(String[] args) {
        Rodent r=new Mouse();
        r.eat();
        Rodent[] x={new Mouse(),new Gerbil(),new Hamster()};
        for (int i = 0; i <x.length ; i++) {
            x[i].eat();
        }
    }
}
abstract class Rodent{
    public abstract void eat();
}
class Mouse extends Rodent{
    public void eat(){
        System.out.println("偷吃");
    }
}
class Gerbil extends Rodent{
    public void eat(){
        System.out.println("好吃");
    }
}
class Hamster extends Rodent{
    public void eat(){
        System.out.println("快吃");
    }
复制代码

转载于:https://juejin.im/post/5b671d796fb9a04f8d6bdc31

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值