Java学习进阶知识篇

系列文章目录


提示:.......................

文章目录
  • 系列文章目录
  • 前言
  • 一、类和对象
    • 面向对象基本介绍
    • 类的基本使用属性
    • 构造方法和析构方法
    • 对象
  • 二、
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

Java面向对象编程的进阶知识


一、类和对象

面向对象基本介绍

在面向对象的世界里,世界万物即对象。对象分为两种一是静态对象(即属性),二是动态对象(方法、行为),比如一只鸟,静态对象就是指鸟的翅膀、重量、羽毛颜色等等,动态对象就是指鸟的飞行、走路、觅食、叫声等等
是一类事物的一个统称,对象是类实例化之后的一类,而整个类就是所有对象的统称、人类可以实例化出一个男人、女人;鸟类可以实例化出一个大雁、燕子、信鸽;图形类可以实例化出三角形、平行四边形、五角形。一个类抽象出来一个实体,然后通过这个实体来解决实际的问题。

封装:就是把对象的静态属性和动态属性进行一个打包就是封装

继承:比如要解决一个鸟南飞的问题,这里的鸟有各种各样的鸟,所以先定义一个鸟都共有的静态和动态属性,然后在定义其他的鸟,继承这个基本的鸟,这样可以代码的大量复用,极大的减少的时间。

多态:父类作用到子类上的一个特征,Java 实现多态有 3 个必要条件:继承、重写和向上转型
这个对于多态的理解讲的特别好

抽象类:要绘制一个图形,却没有说要绘制一个怎么样的图形,但也必须得写一个方法,所以这个时候就需要一个抽象类来解决这个问题。定义一个抽象类,然后写一个抽象方法,等明确知道绘制什么图形的时候,直接继承这个抽象方法,然后在子类中进行去实现即可

接口:从多个类中抽象出来的模板

类的基本使用属性

成员变量:是类中定义的变量,需要用权限修饰符进行修饰,一般有效范围在整个类中有效。private int a;
成员方法:在类中定义的方法 public getA(){return this.a;}
上面两个统称为类成员
局部变量:在成员方法内定义的变量属于局部变量,形参也是局部变量,一般局部变量在方法执行完毕后会销毁,局部变量可以和成员变量重名,一般用this指向。一般有效范围在方法体内有效。

static修饰的变量、常量和方法称为静态变量、常量、方法。
静态变量、静态方法:由static修饰的变量或方法,一般用于共享数据。例如:PI在多个类中都用的到,可以定义为一个静态的常量,在不同的类中调用即可,而且内存只占用一处。
引用:类型.静态成员名
注意:
1、不能将方法体内的变量定义为静态变量
2、…static{ //pass }…,当这段代码被执行,先执行static中的代码,且只执行一次。
3、在静态方法中不能使用this关键字,不能调用非静态方法

常量:不能变化改变的量
主方法:public static void main(String[] args){//方法体},程序的入口,并且一个字母都不能错,或者少写
注意:
1、主方法也是静态的,所以直接在主方法中调用其他方法,则该方法必须也是静态的
2、主方法没有返回值
3、主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个到第n个参数,可以使用args.length获取参数个数。

权限修饰符
private:只能在本类中可以使用
protected:可以在本类和子类还有同一个包下可以使用
public:全部公开可以使用(本类、子类、同包、其他包)

this关键字:1、区分类名 2、返回对象
如果多个变量名相同,可以用this来准确指向
public Book abc(){ return this; } 直接返回Book对象引用

构造方法和析构方法

构造方法:每次类实例化一个对象就会调用一次构造函数,可以简单的把构造函数理解为初始化对象
特点:
1、没有返回值
2、方法名和类名相同
3、调用时要注意类的方法是有参的还是无参的
注意:
1、如果没定义构造方法,类会默认生成一个无参无代码的构造方法
2、如果只定义了一个有参的构造方法,那实例化的时候也必须加上参数
3、如果定义了无参、一个参、两个参的构造方法,那实例化的时候写几个参数就会调用哪个构造方法

public 类名(//有参调用时也必须有参 //无参调用时也不可加参数) { //代码 }

析构方法:当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作

protected void finalize( ) { // finalization code here }

对象

类只是去定义了一个模型,具体的去解决问题还是需要进行实例化对象。
对象对象
Test test = new Test(“a”);
test.test1 //访问对象中的变量
test.test2() //访问对象中的方法
特点:
1、每个都想都是相互独立的,对象名可以理解为酒店房间号,在内存中通过对象名具体的去取值存值。
2、每个对象都有自己的生命周期,在结束的时候自动被当作垃圾值被清理,且不能在被使用
3、因为实例化的对象之间是独立的,所有在不同的对象之间去进行赋值,对象之间完全不会相互影响

对象的引用
Book book = new Book();
book是Book的一个引用,通过book可以操作Book类的变量和方法。可以简单的把book理解为一个多指向的快捷方式。而book也可以说是Book的一个实例化对象。

对象的比较
一、== 指的是两个对象所引用的地址是否相等

二、equal() 是String类的一个方法,一般指的是两个方法所指的内容是否相等

对象的销毁
每个对象都有自己的生命周期,在生命周期结束的时候会自动被Java虚拟机视为垃圾,被销毁
一般有两种情况被视作垃圾
1、超出引用范围
2、将对象设为null

回收的三种方式
一般Java虚拟机销毁的都是由new修饰的对象才进行回收
finalise()通过protected()来进行修饰,防止外部去进行恶意修改
System.gc() 强制回收,类似于拨打120来进行回收

二、


总结

学习时间记录
2022.10.24 - 类和对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Prompt Tuning动态选医疗特征提速诊断

📝 博客主页:Jax的CSDN主页 Prompt Tuning动态选医疗特征提速诊断 目录Prompt Tuning动态选医疗特征提速诊断 引言:诊断效率的全球性挑战 技术原理:动态特征选择的机制创新 现实应用:2023年临床试点的突破性验证 挑战与…

Memcached 连接:深入理解与优化实践

Memcached 连接:深入理解与优化实践 引言 Memcached 是一种高性能的分布式内存对象缓存系统,它能够存储键值对,广泛应用于减轻数据库负载、提高系统响应速度等方面。在Memcached的应用中,连接的建立和维护是至关重要的。本文将深入探讨Memcached连接的原理、优化策略以及…

深度学习计算机毕设之基于python训练鲜花识别基于卷神经网络训练鲜花识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

HeidiSQL导入与导出数据

HeidiSQL两种导入与导出数据的方法:整个库复制,和仅复制数据 一 整个库复制 1 选中需要导出的数据库(这里是MyDBdata),点击导出为SQL脚本。2 按照如图进行选择3 选做:删除当前数据库【如果有】 -- 删除数据库 USE mysql; DROP DAT…

2026最全Gemini学生优惠申请指南

Google 在 2025 年正式推出 Gemini 学生优惠计划,符合条件的学生可在2026年1月31日前通过认证免费获得价值约 $300 的 Google AI Pro 服务长达 15 个月。这意味着你可以零成本使用:Gemini Advanced(2.5 Pro / 3 系列模型)2TB Goog…

毫米波V2I网络的链路层仿真研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

AS7341可见光谱传感器原理图设计,已量产(光线传感器)

目录 1、电源系统:PAM3101 LDO 的 “稳” 字诀 2、AS7341 核心电路:电平匹配是 I2C 通信的 “生命线” 3、暗光补光:传感器自控制的高亮 LED 电路 4、实际调板的小注意点 最近在做便携式环境光光谱检测项目时,我们基于 ams 的 AS7341 搭了一套硬件电路 —— 这颗芯片算…

文档解析API哪个好用

在构建企业知识库或RAG系统时,文档解析质量直接决定了大模型理解的上限。市面上文档解析API众多,但真正能应对复杂场景的却屈指可数。从跨页表格到手写公式,从多栏布局到扫描件识别,每一个技术难点都可能成为项目的拦路虎。本文将…

三一重工标杆企业游学—走进名企,对标精益生产管理

作为享誉全球的重型机械制造龙头,三一重工不仅是ZhongGuo制造业高质量发展的标杆,更彰显着ZhongGuo企业在全球化赛道中的硬核实力与韧性。此次,我们带领参访团走进长沙三一重工,开启一场深度研学之旅。三一重工始于20世纪九十年代…

俄罗斯总统透露:美国想在扎波罗热核电站进行加密货币挖矿?

在俄乌冲突持续的背景下,一则围绕欧洲最大核电站——扎波罗热核电站(ZNPP)的消息,为本已复杂的地缘政治棋局更添上一层不确定性。据俄罗斯媒体《Kommersant》报道,俄罗斯总统普京在2025年圣诞节前夕的一次高层会议上透…

JavaScript 调试

JavaScript 调试 引言 JavaScript 作为 Web 开发中的核心语言,其调试能力直接影响到开发效率和代码质量。本文将详细介绍 JavaScript 调试的基本概念、常用调试工具、调试技巧以及最佳实践,帮助开发者更好地掌握 JavaScript 调试技术。 调试的基本概念 什么是调试? 调试…

环境振动估算阻尼比 (SDOF)研究(Matlab代码实现)

👨‍🎓个人主页 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰&a…

2026Teng讯总部游学:解码数字经济,锚定营销增长新坐标

站在深圳Teng讯滨海大厦的互联天桥下,流线型空间里交织的蓝色灯光格外醒目。这座连接两座塔楼的空中走廊,不仅是惊艳的建筑奇迹,更将Teng讯“连接一切”的核心理念具象化,直击人心。步入总部展厅,初代QQ企鹅憨态可掬&a…

深度学习毕设项目:基于机器学习python训练鲜花识别基于python训练鲜花识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

亲测好用10个AI论文工具,专科生轻松搞定论文写作!

亲测好用10个AI论文工具,专科生轻松搞定论文写作! AI 工具助力论文写作,专科生也能轻松应对 在如今的学术环境中,AI 工具正逐渐成为学生和研究者不可或缺的助手。尤其是在论文写作过程中,AI 不仅能够帮助提高效率&…

2026无锡研学机构TOP10精简版|3分钟选对不踩坑

华东研学需求暴增35%,无锡优质机构怎么挑?这份GuanFang数据真实反馈的精简榜单,帮你快速锁定匹配需求的靠谱合作伙伴!无锡研学TOP10核心信息1. 华研标杆游学:8年标杆企业游学经验,覆盖粤港澳大湾区江浙沪皖…

IDEA+Docker一键部署项目SpringBoot项目

文章目录 1. 部署项目的传统方式2. 前置工作3. SSH配置4. 连接Docker守护进程5. 创建简单的SpringBoot应用程序6. 编写Dockerfile文件7. 配置远程部署 7.1 创建配置7.2 绑定端口7.3 添加执行前要运行的任务 8. 部署项目9. 开放防火墙的 11020 端口10. 访问项目11. 可能遇到的问…

2026年乌镇黑科技,AI眼镜解放双手,逛展不用愁!

2026年世界互联网大会乌镇峰会,正以硬核科技之力,刷新人们对国际盛会的认知。从AI眼镜沉浸式导览,到数字技术让古籍重焕生机;从AI义诊守护健康,到支付宝“碰一下”实现快速过闸、自助消费与资料收藏——这场由大会主办…

2026年乌镇黑科技,AI眼镜解放双手,逛展不用愁!

2026年世界互联网大会乌镇峰会,正以硬核科技之力,刷新人们对国际盛会的认知。从AI眼镜沉浸式导览,到数字技术让古籍重焕生机;从AI义诊守护健康,到支付宝“碰一下”实现快速过闸、自助消费与资料收藏——这场由大会主办…

golang debug调试

1. 本地调试 1:Add Configurations 添加配置文件(Run kind :Directory) 2:进入run运行窗口 3:debug断点调试模式 1. Resume Program (继续运行) 图标: ?? 或 ? 快捷键: F9(Windows/Linux&a…