2021-04-06 【Java第十三天&第十四天】

10-3 继承入门-重写

注解@Override


10-4 继承-子类构造

super超类-->指向父类

子类创建会默认调用父类空参构造

任何一个类都会继承一个顶级父类Object


10-5 继承-父子类构造器问题

若父类的constructor被重载,则子类要在构建一个constructor


10-6 类的加载顺序

1)父类静态字段 2)父类静态代码块 3)子类静态字段 4)子类静态代码块 5)父类成员变量 6)父类非静态代码块 7)子类成员变量 8)子类非静态代码块 9)子类构造器

静态代码块:类加载时会调用。第一次主动使用这个类就会加载代码到内存

static{}

非静态代码块

{。。。}


10-7 引用类型比较内容

String a = "a";

String b = "a";

(a==b)是true因为a和b同时指向内存中的“a”

如果String c = new String("a");

(a==c)是false因为c中的“a“存在了内存的另一片区域

引用数据类型不能用==来比较


10-8 equals方法

public boolean equals(Object obg){

    Father father;

    if(obj instance of Father) {

        father = (Father)obj;

        if(this.getHobby().equals(father.getHobby())){

            return true;

        }

    }

}


10-9 instanceof和对象转型

if(father instanceof Father)

father是Father类的实例(instanceof问father是不是Father类型)

son instance of Father = true

所有的子类均属于父类(因为子类由父类产生)

父类不属于子类


10-10 Object的toString和HashCode

hashCode()把对象变成数字

如果想打印一个类的内容,要重写toString()


11-1 初入多态

1)有继承

2)有重写

3)有父类引用指向子类对象

Father f = new Son();

f.smoke(); //调用son的soke


多态是同一个行为具有多个不同表情形式或形态能力

ex 在现实中摁下F1

-在Word程序下弹出Word帮助

-在Windows程序下就弹出Windows帮助


11-2 接口和抽象类

抽象类:类中包含没有方法体的方法

public abstract void eat();

如果一个类所有的方法都是抽象的,则这个类为interface(接口)

public interface Animal(){}

public class Cat implements Animal(){}


11-3 数据结构链表

数组:通过下标快速进行操作

链表:更快速插入,删减

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容