其他分享
首页 > 其他分享> > 2022-07-25 第五组 赖哲栋 学习笔记

2022-07-25 第五组 赖哲栋 学习笔记

作者:互联网

  1. 多态
    形成的三个条件:
    有继承
    有重写
    有父类对象指向子类引用
    第一种多态形式:(向上转型)
    语法如下:
//父类  父类对象 = new 子类();
Animal animal = new Cat();

第二种多态形式:(向下转型)
发生向下转型的前提,要先发生向上转型,才能通过强转再转成子类类型
语法如下:

//子类类型 引用 = (子类类型)父类的引用
Cat c = (Cat)a;
  1. 匿名对象
    语法如下:
    //new 类名()
    new Ch03();
    功能:和正常的有名字的对象的功能是相同的;依然具备了调用属性、方法的功能
    使用场景:多数是用在传参,实参,多数情况下配合构造器使用
    好处:节约资源
  2. instanceof关键字
    作用:判断某一个对象是否是某一个类的实例,返回值是boolean类型
//Dog类
public class Dog extends Animal {
    public void look() {
        System.out.println("狗可以看家...");
    }
}
//Cat类
public class Cat extends Animal {
    public void catchMouse() {
        System.out.println("cat可以抓老鼠...");
    }
}
//Person类
public class Person {
    public void feed(Animal animal){
        // 判断animal内心真实身份到底是不是猫
        if(animal instanceof Cat){
            Cat cat = (Cat) animal;
            cat.catchMouse();
        }else if(animal instanceof Dog) {
            Dog dog = (Dog) animal;
            dog.look();
        }else {
            System.out.println("我不养...");
        }
    }
}
//测试类
    public static void main(String[] args) {
        Person person = new Person();
        Animal animal = new Cat();
        person.feed(animal);  //输出cat可以抓老鼠...
    }
}
  1. 链表
    在内存中,数组和链表都是最基本的数据结构
    表(线性表):线性的结构,它是一个含有n>=0个结点的有限序列
    单向链表:在维护一个结点的自身的值时,还要维护它的下一个值的指向
    双向链表:在维护一个结点的自身的值时,还要维护它的上一个和下一个值的指向
  2. 数组是不是类
    站在JVM的角度看,是类,在JVM解析数组时,会生成一个数组的类
    站在编译角度,不是类,因为没有类名,没有结构

标签:25,Animal,07,子类,Cat,animal,第五组,new,public
来源: https://www.cnblogs.com/laizhedong/p/16519090.html