20200925_陈宇_

日志

学习总结:

封装:

​ 封装就是对类内部细节进行隐藏,对外不可见,外部程序不能直接访问

​ 通过访问修饰符来限制不合理的操作

​ 松耦合就是指尽量减少对象之间的关联性,以降低它们之间的复杂性和依赖性

包:

​ 包就是文件夹,包名一般是 公司域名去掉www后倒置 + 项目名 + 模块/功能

​ 作用:1.存放类,便于找到和使用相应的类文件

​ 2.防治命名冲突,Java中只有在不同的包中的类才能重名

​ 3.包允许在更广的范围内保护类、数据和方法

​ 包实际上是一种访问控制机制,通过包来限制和制约类之间的访问关系

​ 使用非Java.lang包以及同包下的类时需要导包,或使用全限定类名

提示:声明包的含义是声明当前类所在的包,导入包的含义是声明当前类要使用到的其他类所在的包

内存区域:

​ JVM吧内存划分成几个不同的区域,每个区域存储某一类数据,这几个区域分别是方法区、堆区、栈区、静态区、常量池

访问修饰符:

​ 四类,3个关键字

​ public:公开的 protected:受保护的

​ package-Access:包访问修饰符 private:私有的

​ 访问权限从大到小:public --> pritected --> package-Access --> private

​ 访问修饰符不能修饰局部变量

继承:

​ 通过从现有类中继承其属性和方法,来表现充实自身内容,这种现象称为继承,继承使用extends关键字声明

​ 作用:代码重用,增加软件的课扩展性

​ 继承分为单继承和多继承,Java中只支持单继承,也就是一个类只能有一个直接类

​ 特点:可以继承父类中用public、protected和package-Access修饰的属性和方法,package-Access修饰的属性和方法只能在同包中继承,无法继承private修饰的属性和方法

​ 父类的构造方法无法继承,子类可以扩展,提高类之间的耦合性

​ 子类可以重写(override)父类的方法,不能重写构造方法

重写(override):

​ 一般发生在继承中,描述子类重写父类的方法,当父类方法不能满足子类的需求时,子类可以重写次方法,也叫覆盖

​ 子类中有和父类中同名且同参(相同)的方法,称为方法的重写(覆盖)

​ 满足重写的条件:1.重写一定发生在继承关系中

​ 2.重写方法与被重写的方法要相同(同名、同参、同返回)

​ 3.重写方法的访问权限不能缩小

注意:不能重写父类中final修饰的方法,不能重新给final修饰的属性赋值

重载和重写的区别:

​ 重载:发生在同一个类中,多个方法名相同,参数列表不同,与返回值无关

​ 重写:在继承关系中,方法名、参数、返回值都相同,方法体可改

final:

​ final修饰的类不能被继承,final修饰的变量称为常亮,其修饰的属性(字段)不可修改,修饰的方法不能重写,常亮必须在赋初始值后才能使用,且不能被更改

​ final修饰对象,因为对象本身是可变的,不可变的是变量对于对象的引用

super:

​ super([参数列表])是调用父类的构造方法,在调用构造方法时,必须放到方法的第一行

​ super.属性表示调用父类的属性,super.方法([参数列表])表示调用父类方法

​ super表示父类引用:

​ 1.super只能出现在子类(成员方法、构造方法)中

​ 2.super用于调用父类的成员、方法、属性、构造方法

​ 3.super([参数列表])在调用父类构造方法时,要写在构造方法代码的第一行

​ 4.super不能调用父类private修饰的属性和方法

this和super

image-20200925215022533

遮蔽:

​ 有些声明可能在其作用域的一部分被相同名称的另一个声明遮蔽

隐藏:

​ 用于将被继承但由于子类中的声明而不被继承的成员

学习心得:

​ 面向对象这一块的内容是比较难,各级之间的关系与用法也比较多,需要多去想那些关系才能明白,并且还要多敲去验证自己的想法,面向对象的实例变量,类变量,实例函数,构造函数,类函数等等这些关系属实搞得脑袋晕乎乎的。

标签

评论

this is is footer