对象看到一半噜!就快看完了冲冲冲

本文详细介绍了Java中的构造器概念,包括无参构造器、创建对象内存分析,以及封装、继承(如单继承、super与this的区别)、方法重写等关键概念,强调了程序设计中的高内聚和低耦合原则。
摘要由CSDN通过智能技术生成

05构造器详解

一个类即使类体什么也不写,它也会存在一个无参方法,这个方法就是构造方法

类中的构造器 (构造器必须掌握!) 也称构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:

  1. 必须和类的名字相同
  2. 必须没有返回类型,也不能写void

使用new关键字,本质是在调用构造器

构造器一般用来初始化值

无参的构造器可以自己定义一个,也可以不定义出来,因为默认会有一个无参构造器,但如果自己定义了一个有参构造器,想调用无参构造器的话就必须也把无参构造器显式定义出来,不想调用可以不定义

(alt+insert快捷键可以快速显示构造器)

06创建对象内存分析

栈堆什么的…主要看图吧

07封装详解

该露的露,该藏的藏:我们程序设计要追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用

封装(数据的隐藏):通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏

属性私有(private),get/set(获取数据/设置数据的方法)

好处

  1. 提高程序的安全性,保护数据
  2. 隐藏代码的实现细节
  3. 统一接口
  4. 系统可维护性增强

08什么是继承

继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模

关键字:extends 意思是"扩展",子类是父类的扩展

Java中只有单继承 没有多继承

继承是类和类之间的一种关系,除此之外类和类之间的关系还有依赖、组合、聚合等

子类继承了父类就会拥有父类的全部方法,但private修饰的方法无法被继承

快捷键:ctrl + h

Java中所有的类都默认直接or间接继承object类

Super详解

子类的无参构造器首先会默认调用父类的无参构造器,如果要显式调用父类构造器必须放在第一行,并且调用自己的构造器时也必须放在第一行,所以这两个调用不能共存 (super()和this()不能共存)

关键字:super 用于子类调用父类

super只能出现在子类的方法/构造方法中

super VS this

  • 代表的对象不同:

    this:本身调用者这个对象

    super:代表父类对象的应用

  • 前提:

    this:没有继承也可以用

    super:只有继承了才能用

  • 构造方法:

    this():本类的构造

    super():父类的构造

方法重写

重写都是方法的重写,与属性无关

非静态方法才能够重写,定义的时候父类的引用指向了子类,于是子类重写了父类的方法,变成自己类里同名的方法,而且方法名和参数列表必须相同,方法体不同,修饰符范围可以扩大但不能缩小 ( public > protected > default > private ),抛出的异常范围可以被缩小但不能扩大

如果是静态方法,方法的调用只和左边定义的数据类型有关,和new之后的类名无关

为什么需要重写:父类的功能,子类不一定需要或者不一定满足

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值