【无标题】

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.基本数据类型 4类8种

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3WimM30J-1673710152502)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230111220720499.png)]

2**方法的重载****

概念

同一个类中方法名相同访问修饰符相同其他都相同方法的参数列表不同【形参的顺序个数类型不同】重载在一个类中没有继承关系重载的各个方法之间相互也没关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHgt9c0D-1673710152504)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230111222950353.png)]

3.递归

本质方法自己调用自己注意点是一定要有递归跳出条件必然就会栈溢出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CvBdu3cy-1673710152505)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230111225018629.png)]

4 类和对象的关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ChKIPwdW-1673710152506)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230111225751068.png)]

5.构造方法、构造器、构造函数

概述

public + 类名 +参数列表+{

}

注意点

1.JDK默认提供无参构造自己写了无参构造会自动替换掉默认的无参构造

2.可以写多个构造器无参有参的根据需求提供很

3.构造器本身是个方法所以它不仅是创建实例的也可以在构造器中做很多的事情比如有参构造中进行参数校验就很充血模式

6.this 关键字

概述

​ this指代类当前实例对象的引用地址是当前对象自己。

注意点

方法被哪个对象实例调用方法中的this 就代表哪个对象实例可以访问对象所对应类的方法和属性。

作用

1.在全局变量和局部变量冲突时区分全局变量和局部变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDQCFdEo-1673710152507)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230113060446460.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qg49AtbE-1673710152508)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230113060908850.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcCIU25a-1673710152513)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230113061836583.png)]

2.可以指代构造方法当做构造方法来用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lHfZvHrs-1673710152515)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230113063045171.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jO7fC2DO-1673710152516)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230113063135777.png)]

7.封装

概述

​ 1.尽可能多的将对象的细节实现对外隐藏在类的内部实现。做好充血模式。这样也会提高代码复用性。

​ 2.对外控制访问权限。

​ 类中的属性、方法通过访问修饰符private 修饰对外不可见。提供外部可访问的统一入口比如最基本的set get方法等。另外get set 方法其实可以很好地使用起来做校验。当然最好的校验可以放在构造方法中。校验会比set 中校验更早。

封装的步骤

​ step1.使用private来修饰属性和重要方法。

​ step2.外部需要访问的数据提供统一的方法此时修饰符为public )

step3.需要时可以考虑通过静态、注册、缓存等方式全局做安全性性处理。

8.static 关键字

概述

static 是类中开辟的一块特殊空间可以用来修饰类本身、类的实例创建的构造方法之外的几所有点比如属性、方法、代码块。

因为只能被类直接调用类的实例不能直接调用所以static 修饰的内容又叫类xxx,类变量、类方法。。。

特点

​ 1 访问权限它隶属于类 也只有类自己能调用一般情况下实例是不能直接访问的

​ 2被修饰的部分全局唯一全局等共享因此可作为缓存、工具类等。

​ 原理是jvm 保证static修饰的内容在方法区被堆区的对象同享

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MrTGpFGa-1673710152517)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114014125353.png)]

3 访问权限

​ 1》类的被static 修饰的内容内部可以相互调用比如static修饰的方法间直接调用static修饰的方法调用static修饰的属性

​ 2》static 这块特殊空间上的内容不能调用类中非static 修饰部分的内容

​ 3》类中非static 修饰的内容能直接调用static修饰的内容因为这部分是共享的。

9静态代码块

概述

被{ } 包裹的代码称为代码块

被static 修饰的代码块称为静态代码块。

特点

​ 1.类中的代码块在每次实例创建时执行一次且在构造方法之前执行。

​ 2.静态代码块在程序加载时执行一次当然是在构造方法之前但是不会随着实例创建而继续执行。

10 继承

概述

在父类的基础上去构建新的类子类继承了父类的非私有属性和方法。当然父类中被private修饰的属性方法是不能直接调用的

父类的构造器是不能继承的父类构造方法的继承要用到super。

特点

​ 避免了子类写重复代码

​ 保留父类功能时扩展了新功能

​ 需要时子类还可以在子类中重写父类方法

11 super

概述

用来访问父类的属性、方法、构造方

使用场景

子类重写了父类的方法、此时默认会调用子类的方法而这个时候需要调用父类的方法了就要用到super 。

​ 子类想用到父类的构造器时要用到super

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gT8DALGN-1673710152518)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114033021897.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SwrpPX1M-1673710152519)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114033056204.png)]

12重写

继承关系中子类将父类已有的方法重新实现称为重写。

重写是有继承关系的。注意这里没有接口实现的事情接口实现是多肽的范畴。

重写的方法和父类结构上保持完全一致只是具体的代码实现上不同。结构指的是方法名、参数列表都要保持一致访问修饰符一般和父类保持一致或者更宽松而不是更严格、返回值类型和父类保持一致或者是父类返回值类型的子类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ceW5FDCi-1673710152520)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114035352500.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YUuxjH2U-1673710152521)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114035617003.png)]

13访问修饰符

private 限本类中可访问

default 不写修饰符默认就是default 当然写上更好限本包中可以访问。

protected 限于本包内可访问另外加上其他包中要想访问只能是本包中该类的子类。

public 随便谁都可以访问。

14 final关键字

final 本质上就干一件事不让修饰的对象变了。

修饰类不让变就是不让继承。

修饰对象不让变特指的是地址的指针不变但对象的的某个属性值是可以变的也就是可以重新set赋值。

修饰方法不让变就是不让重写。

修饰变量不让变因此只能用来修饰常量修饰变量就给自己埋坑了变量会不能再重新赋值。

15 多态

概述

同一个行为具有多种实现方式比如吃饭这个行为不同的动物实现起来不同

落地到代码就是同一个接口有不同的实现类各自的实现方式不同。或者**父类的某个行为在子类中被重写而具有了不同的处理结果****。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjMqGkCN-1673710152522)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114171801280.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GUvpFFpQ-1673710152522)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114172709749.png)]

作用

1.程序具有扩展性、是程序通用性更强

套路写法

函数的形式参数写 抽象类、接口、父类实际参数按照业务需要提供具体的实现类、子类以达到比如工厂模式的效果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xFOFASDO-1673710152523)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114174853525.png)]

16引用类型转型

概述

引用类型的转型分为子类向父类的转型[向上转型]、父类向子类的转型[向下转型]各有特点。

向上转型

​ 现有子类和父类有子类说明有方法的重写、可能有新的属性或者方法。

​ 转型的过程是自动的如 People poeple = new Man(); 过程中会丢掉子类新增的部分剩下父类独有的这部分属性和方法。当然子类重写了父类的方法调用时肯定用的是子类重写的方法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZhEVb7q-1673710152524)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114180209711.png)]

向下转型:

​ 现有子类和父类有子类说明有方法的重写、可能有新的属性或者方法。同时考虑有多个子类存在。

​ 转型的过程是被动的父类要调用子类的方法直接调会报错需要强制转换为子类后再去由子类调用。原因是多态方法调用时会先检查父类中是否有该方法如果没有程序编译都会失败更不提运行了。采用的方式就是强转为子类子类自己调自己。

思考

​ 一般的父类怎么会调子类呢肯定是作了多态、设计模式的处理等情况才会出现这种情况。另外父类转子类转哪个子类是要明确地转错了子类怎么调用对应子类中独有的方法呢肯定不行的。所以需要一个判断是否是某个想要的子类或者实例的方式 instanceof 出场了。

17 instanceof

当前类的属于自己 子类属于父类比如猫属于动物但父类不属于子类比如动物不属于猫。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x2bJswwh-1673710152525)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114184334663.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZDgDc5gq-1673710152526)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114210351513.png)]

18 接口

1.接口必须是有抽象方法

2.JDK1.8后增加了默认方法和静态方法可以有多个默认方法和静态方法。

3.默认方法需要用实现类调用静态方法必须是接口名来调用。

4.一个类可以实现多个接口java中类单继承多实现。接口因为不能实现是可以多继承的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BeLQVEx9-1673710152527)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114220301894.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E7jEJBVV-1673710152527)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114221033935.png)]

19接口和抽象类的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xclfLzm-1673710152528)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114221339135.png)]

20数组的浅拷贝和深拷贝

浅拷贝

拷贝的是执行对中对象的指针地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vZWaievI-1673710152529)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114223627586.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1fDkI7yY-1673710152530)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114223835465.png)]

深拷贝

拷贝的是对中对象的内容当然指向堆中对象的地址自然也不相同。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nk4724vV-1673710152530)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114224523075.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVNtXGp6-1673710152531)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114224534623.png)]

21 包装类和基本上数据类型转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aUoAJiuz-1673710152532)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20230114232019798.png)]

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6