类和面向对象

面向对象

对象相当于表格
类对应表格的结构
对象对应表格的内容
所有数据的本质上都是“表格”
面向对象编程中,类对应表的结构(表的field)
定义成方法:
类是抽象的 对象是具体的
Java中使用对象,需要先new后用 使用new后相当于给了它一个存储空间
使用.,来访问属性和方法。
属性,也叫成员变量,也叫字段。
方法,是面向对象的概念,函数是面向过程的概念,其实是一个东西,都是方法。
属性就是静态描述对象的变量
方法的特点 一段可以被公用的代码,这一段代码的名字就是方法名。
可以隐藏实现细节,只关注结果。
面向对象特征
1.封装 2.继承 3.多态 4.抽象

封装

生活中
形式:打包、包裹、信封等等
作用:保护内部结构、规格统一方便运输
程序中
形式:使用公用的get/set方法,访问私有的属性
作用:隐藏了类的细节,类的结构相对统一
封装的意义:
程序是非常多的类相互依赖的结果,封装就极大程度上保护了类依赖的安全性
不封装问题:类属性全部暴露在外面,所有类都可以直接访问
数据直接设定,没有机会验证数据
采用封装:属性私有化
IDEA自动生成 get/set方法:Generate Getter and Setter

构造方法

构造对象时,调用的方法就是构造方法。例:Student s=new Student();构造方法 是get/set赋值的简化版。
构造方法没有返回值,且与类同名。
注意:
JDK会自动为每一个类创建一个空的构造方法。但是,一旦自己定义任意一种构造方法,这个空的方法将不再自动创建。
构造方法一般是为了对象做初始化用的。
构造方法的重载:
在2021年Orale公司,声明构造方法不算重载。

继承

代码重复,专业术语,“冗余”
生活中
形式:继承财产、继承基因、子承父业
作用:父辈有的,子辈自动拥有
程序中
形式:子类使用extends继承父类
作用:子类自动拥有父类的属性和方法,方法得到复用,类的层次结构更明确了。

单继承:

一个类只能单继承(亲爹只有一个),但可以多层继承(孙子继承爸爸,爸爸继承爷爷,孙子也有爷爷的东西)

super/this

super:超,超级(把父类叫做超类super class子类叫做sub class)
this:当前,本身,这个
super(),父类的构造方法
super在子类构造方法只能放首行
new子类时,会自动先调用父类的构造方法
方法的重写:
在继承关系的两个类中,子类会覆盖(重新写)父类的同名方法
和父类方法格式不统一,无法构成重写。
重载:一个类中,方法名相同,参数类型或个属不同
重写:继承关系的两个类中,方法名和格式相同的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值