美文网首页
类和类之间的关系之继承

类和类之间的关系之继承

作者: Veycn | 来源:发表于2019-04-24 23:22 被阅读0次
  • 继承 实现 (A is-a B) 也叫作泛化
  • 组合 聚合 关联 (A)
  • 依赖

继承

子类 => 父类

  • 子类继承父类, 通过一个关键字 extends

  • 子类可以调用父类允许子类调用的方法/属性

  • 子类可以添加一些独有的方法或者属性, 减少代码的冗余

  • 子类继承来的方法不一定能满足子类的要求=> 重写(override), 重写意味着改变内部内容, 保留结构. 不同于重载(overload), 重载的例子比如说System.out.print()方法

  • 每一个类都有继承类, 如果没有extends显式的继承某个类, 默认继承 object. 它是任何一个引用类型的父类. object没有父类. 比如
    toString(): public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
    getClass(): 获取对象对应类的类映射
    hashCode(): public native int hashCode(), 将对象在内存中的地址经过某个算法计算成一个整数
    equals(): 比较两个基本值是否相等, 比较两个引用值的地址是否相等,. 可以进行重写
    wait(): 让线程进入等待状态
    notify(): 唤醒线程
    notyfyAll(): 唤醒所有线程
    finalize(): 权限修饰符是 portected, 对象被GC回收的时候, 默认调用的方法
    clone(): 克隆对象用的.

final, fanally, finalize区别?

final 是一个权限修饰符
finally 是 try-catch 的最后关键字
finalize 是垃圾回收机制回收对象的默认会调用的方法

  • 每个类只能继承一个类, extends后面只能跟一个类的名字, 目的是让类变得更加安全. 如果继承了两个类, 两个类里面都有一个方法叫做test, 那么子类调用 test 方法的时候, 到底是调用的谁的呢?
  • 可以使用传递的方式进行多继承, 人 继承 动物, 父亲 继承 人, 儿子 继承 父亲
  • 继承在内存中的存储形式
    Person p = new Person() 等号左边存在于栈内存, 等号右边存在于堆内存

    new Person的时候, 不但调用了Person的构造方法, 还调用了Animal的构造方法.
    所以, p.toString()是先去Person类里面找, 然后去Animal里面找, 最后在Object里面找到.
  • this 和 super
    this 指代当前执行方法时的对象, 不一定是当前类的
    super 当前执行方法时的对象的父类
public class Animal {
    public String name;

    public void eat(){
        System.out.println("动物吃饭");
    }
    public void sleep(){
        this.eat();
        System.out.println("动物睡觉");
    }
}

子类在调用sleep方法的时候, 会执行this.eat(), 但是这个 eat() 是子类的方法, 而非是父类的.

相关文章

  • 类和类之间的关系之继承

    继承 实现 (A is-a B) 也叫作泛化 组合 聚合 关联 (A) 依赖 继承 子类 => 父类 ...

  • 03.接口和类之间的各种关系

    接口和类的关系 A:类与类之间:继承关系,一个类只能直接继承一个父类,但是支持多重继承 B:类与接口之间:只有实现...

  • 设计模式实践之类之间的六种关系

    类之间的六种关系 1、继承(Generalization) 继承关系,表示了子类和父类之间的关系 箭头:子类指向父...

  • 继承

    继承:类与类之间的一种关系,子类可以继承父类的成员 关键字extends:继承关键字,使类与类之间产生继承关系 格...

  • 《Java编程的逻辑》笔记15--初识继承和多态

    继承 继承概念(1)计算机程序经常使用类之间的继承关系来表示对象之间的分类关系(2)在继承关系中,有父类和子类,父...

  • UML类图

    UML类图 基本描述: 用于描述类(对象)本身的组成 和 类(对象)之间的各种静态关系。 类之间的关系:依赖、继承...

  • 2021-01-19java继承

    1,什么是继承 继承是类与类之间的一种关系,继承的类叫子类,被继承的类叫父类;子类继承父类后,将拥有父类的属性和方...

  • 设计模式系列(七)UML类图

    UML类图 用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系 类与类之间的关系:依赖、泛化(继承)...

  • 设计模式系列(八)23种设计模式-----单例设计模式

    UML类图 用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系 类与类之间的关系:依赖、泛化(继承)...

  • 扑克游戏

    """发牌 比大小类和类之间(对象之间)的关系: is-a关系 - 继承 has-a关系 - 关联/聚合/合成 u...

网友评论

      本文标题:类和类之间的关系之继承

      本文链接:https://www.haomeiwen.com/subject/mzongqtx.html