【软件工程师从0到1】- Java面向对象基础 (知识汇总)

2023-11-20 14:30

本文主要是介绍【软件工程师从0到1】- Java面向对象基础 (知识汇总),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

介绍:大家好啊,我是hitzaki辰。

社区:(完全免费、欢迎加入)日常打卡、学习交流、资源共享的知识星球。

自媒体:我会在b站/抖音更新视频讲解 或 一些纯技术外的分享,账号同名:hitzaki辰。

正文开始,抓紧上车!


一 - 类的组成

Java类的成员有5类:属性(成员属性)、方法、构造器、代码块、内部类,主要由4部分组成:

1)类变量:类型本身具有的属性。

2)类方法:类型本身可以进行的操作。

3)实例变量:类型实例具有的属性。

4)实例方法:类型实例可以进行的操作。

拓展

1可以用类变量体现一个类的固有属性,这个固有属性通常是个常量

3)实例方法比类变量多一个隐含参数:self、即当前操作的实例本身。因为实例方法也是通过self间接调用实例中的属性的。

4)类中的成员变量在创建对象时会分配一个默认值,与数组类似。

5)成员变量是在堆内存中, 局部变量是在栈内存中的。   类中的局部变量:各种代码块内和方法形参

6)一般不将实例变量声明为public,而是只通过实例方法对它进行操作。

二 - static修饰符

1)在类中,用static声明的成员变量为静态成员变量,也称为类变量。

2)类变量的生命周期和类相同,在整个应用程序执行期间都有效。

3)被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

4static可以用来修饰类的成员方法、类的成员变量,另外也可以编写static代码块来优化程序性能。

5)子类不能重写静态方法,事实上只是将父类中的同名方法进行了隐藏。

6还能用来修饰内部类、用来静态导包

三 - 构造方法

构造方法又为构造函数,构造器,constructor  (同样可以重载)

Person p = new Person();  (在右侧Person后面出现的小括号, 其实就是在调用构造方法)

1)它的作用就是对象的初始化, 在创建对象时自动调用

2)构造方法无需设置返回值,默认是此类本身的实例。

 

3Java类必须至少存在一个构造方法,若没有明确编写则系统自动会生成一个无参的构造方法,但还是建议自己手动编写一个无参构造器,避免出错。

4)私有构造方法用途: (构造方法第一行必须调用this()super(),否则系统自动调用无参的super() ,若不存在,则编译错误。)

1.private修饰构造方法,提高代码复用。

2.只想让类被静态访问时,比如Math

3.当能创建类的实例,但只能被类的静态方法调用时,比如单例模式。静态方法去调用私有构造方法,若以创建过了,则将创建过的返回。

静态和实例的加载顺序

1)情况1:当类被加载时 输出顺序为静态代码块 实例代码块

    static{System.out.println("静态代码块");}public static Test test1=new Test();{System.out.println("实例代码块");}

2)情况2(将静态代码块与静态成员test1换位置):输出顺序变为实例代码块 静态代码块。

Java构造函数执行顺序:①类加载(父类静态代码块->子类静态代码块) 

    ③父类非静态代码块      ②父类构造方法       ③子类非静态代码块       ④执行构造方法的代码

四 - this关键字

this

1this是一个关键字,翻译为:这个。

2this是一个引用变量,this变量中保存了内存地址指向了自身实例,this存储在JVM堆内存中Java对象的内部。

3、可以用来调用对象本身的成员变量、成员方法。this.x     this.fun();

4、用this可以在构造方法中调用自身其他构造方法,但只能在其代码块第一行调用,并且只能调用一个。

结尾

感谢你看到这里,如果感觉内容不错的话请点赞支持一下!

如果小伙伴对我的讲解有疑问,欢迎评论区讨论。

这篇关于【软件工程师从0到1】- Java面向对象基础 (知识汇总)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395270

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.