Java笔记9

目录

集合

面向对象进阶

继承【补充】

多态【补充】

static关键字

Final关键字

代码块


集合

集合和数组的区分:

  • 数组:长度固定不变,存储类型:可以存储基本数据类型,也可以存储引用数据类型
  • 集合:长度自动伸缩,存储类型:引用数据类型,存储基本数据类型的话需要将它换成对应的包装类然后再进行存储

基本数据类型对应的包装类:

基本数据类型对应的包装类

byte

Byte
shortShort
charCharacter
intInteger
longLong
doubleDouble
floatFloat
booleanBoolean

注意:

  • JDK5以后int与Integer可以转换
  • 如果要返回多个数据,先将其放入一个容器(数组或者集合)中,再返回

ArrayList创建集合对象:

JDK7:

ArrayList<String> list = new ArrayList<String>();

JDK7以后:

ArrayList<String> list = new ArrayList<>();

泛型:<>:限定集合中存储的数据类型

常用的成员方法:

  • boolean add():增加进集合
  • boolean remove():从集合中删除
  • remove(int index):删除索引指定元素,返回被删除元素
  • set(int index(被修改),E e(修改后)):修改索引指定元素,返回被修改的元素
  • get(int index):获取索引元素
  • int sizr():集合长度,也就是元素的个数,相当于数组的length

集合的遍历:

list.fori回车>>>用list.get(i)获取集合元素

public class Dome { static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (int i = 0; i < list.size(); i++) { Integer printDataArray = list.get(i); System.out.println(printDataArray); } } }

输出结果:

面向对象进阶

继承【补充】

  • 子类无法继承父类中的构造方法
  • 成员变量可以被子类继承【public,private可以通过get()、set()】
  • 成员方法
    • 加载到虚方法标中的可以继承【非private、非static、非final】
    • 否则不能继承

多态【补充】

  • 一个方法的参数为父类的话,那么其所有子类对象都可以传入(体现扩展性)
  • Animal a = new Dog();
    • 调用成员变量:编译看左边,运行也看左边
    • 调用成员方法:编译看左边,运行看右边

弊端:此时a不能调用Dog里特有的方法,如果要调用,需要向下转型

Dog g = (Dog)a;

g.dog里特有的方法

JDK4新特性:

if(a instanceof Dog d){

d.lookdoor();

}

//判断a是否为Dog类型,是的话就向下转型为Dog类型,变量为d,不是的话直接返回false

static关键字

表示静态修饰符,可修饰成员方法、成员变量

  • 被static修饰的变量>>>静态变量

1、被类的所有对象共享

2、随着类的加载而加载,优先于对象出现【不属于对象,属于类】

3、调用:

类名.调用【推荐】

对象名.调用

>>>>共享的就用static进行修饰

  • 被static修饰的成员方法>>>静态方法

1、多用于测试类和工具类中

2、JavaBean中很少用

3、调用:

类名.调用【推荐】

对象名.调用

Java中的常用三大类:

  • JavaBean:用于描述
  • 测试类:用于测试
  • 工具类:用于帮助我们去做一些事情,但不描述任何事物的类
    • 1、见名知意
    • 2、方法定义为静态的
    • 3、私有化构造方法
  • static的注意事项:

1、静态方法只能访问静态变量和静态方法

2、非静态可以访问静态也可以访问非静态

3、静态方法中没有this

  • 使用同一包中的类,不需要导包
  • 使用java.lang包中的类,不需要导包
  • 其他情况都需要导包
  • 如果同时用两个包中的同名类,需要用全名(报名+类名)

作用:

  • 管理各种不同功能的Java类

写法规则:

  • 公司域名 + 包;全英文小写,见名知意

Final关键字

应用场景:一种规则,不想被改变就用它来修饰

  • 修饰方法,该方法不能被重写
  • 修饰类,该类不能被继承
  • 修饰变量,叫做常量,仅赋值一次,不可以被改变
    • 在实际开发中常量一般作为系统的配置信息,方便维护,提高可读性

命名规则:

  • 全部大写
  • 多个单词也是全部大写且中间加上下划线

final修饰:

修饰基本数据类型>>>>>>变量存储的数据值不可变

修饰引用数据类型>>>>>>地址值不可以变,对象内部的数据是可以变的

其实前面的字符串不可改变也是因为final

小细节:

ctrl + shift + u:转成大写

代码块

代码块分为局部代码块、构造代码块、静态代码块【掌握】;前两者已经被淘汰,最后一个需要掌握

  • 局部代码块
    • 用完就消失
  • 构造代码块
    • 不够灵活

将构造方法中重复的语句抽到代码块中

写在成员位置

执行:构造代码块优先于构造方法

  • 静态代码块

格式:static{}

特点:需通过static关键字进行修饰,随类的加载而加载,自动触发,只执行一次

应用:在类加载时,做一些数据初始化

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

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

相关文章

UE5 C++(15):宏 UFUNCTION() 修饰成员函数,BlueprintCallable,Category,BlueprintPure 纯函数,

&#xff08;84&#xff09;宏 UFUNCTION() 把类的成员函数暴露给蓝图 &#xff1a;&#xff08;85&#xff09;pure 纯函数&#xff0c;无执行引脚 &#xff1a; 如图&#xff0c; 蓝图中也可以通过细节面板来定义纯函数 &#xff1a; 一言的解释 &#xff1a;&#xff08;86&…

拆解 Claude Code:Coding Agent 终于“能用”背后的架构真相

大家好&#xff0c;我是Tony Bai。 在过去两年里&#xff0c;我们见证了 AI Coding Agent的尴尬童年&#xff1a;从最初笨拙的 Copy-Paste&#xff0c;到 Cursor 的 VS Code Fork 革命&#xff0c;再到如今 Claude Code 这种 CLI Coding Agent的出现。 为什么以前的 Agent 总是…

认识can

本文对工作中can的一些总结can是一种网络协议&#xff0c;主要分can和canfd(高速can&#xff09;canfd速度快&#xff0c;当然成本也高。canfd更多应用与智驾等&#xff0c;can主要用于中控等根据需求决定使用。实战&#xff1a;linux 上位机发送canfd报文<CAN_ID>##<…

认识can

本文对工作中can的一些总结can是一种网络协议&#xff0c;主要分can和canfd(高速can&#xff09;canfd速度快&#xff0c;当然成本也高。canfd更多应用与智驾等&#xff0c;can主要用于中控等根据需求决定使用。实战&#xff1a;linux 上位机发送canfd报文<CAN_ID>##<…

【脉脉】AI创作者AMA知无不言:人机共生时代的创作觉醒

&#x1f3ac; 个人主页&#xff1a;艾莉丝努力练剑❄专栏传送门&#xff1a;《C语言》《数据结构与算法》《C/C干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法&#xff1a;从基础到进阶》《Python干货分享》⭐️为天地立心&#xff0c;为生民立命…

Go语言数据结构和算法(三十四)分治算法

分治算法是将一个巨大的输入分解成若干个小块.在每个小块上解决问题.然后将分段解决方案合并为全局解决方案.1.步骤:分解:将原始问题分解成一组子问题.解决子问题:递归的单独解决每个子问题.合并子问题:将子问题的解放在一起得到整个问题的解.2.应用:2.1快速排序:又称分区交互排…

go语言初认识

背景: python粗略算是懂后, 了解到近期热门的一种语言go。 在多进程等方面的确有很多优势&#xff0c;尤其在解析pcap等时&#xff0c;算力强大&#xff0c;运行时间直接少了一半以上&#xff0c;应用在后端也非常有优势。 本文记录go语言的学习和实战应用。 安装go : linux…

ai-agent 一个强大的辅助工具

随着ai的大热&#xff0c;如何更好的利用ai&#xff0c;而不单单作为知识的查询。如果它能帮我们设计测试用例&#xff0c;执行用例&#xff0c;并给出结果&#xff0c;甚至可以帮我们开发&#xff0c;是不是一个梦中情tool。 这不单单是幻想&#xff0c;目前不少大厂已经实现&…

这些 Web 技术,我学完就后悔:别像我一样把时间浪费在“看起来很香”的坑里

我有一支技术全面、经验丰富的小型团队&#xff0c;专注高效交付中等规模外包项目&#xff0c;有需要外包项目的可以联系我2015 年我刚一头扎进 Web 开发时&#xff0c;脑子里只有一句话&#xff1a;多学点&#xff0c;总没坏处。于是我像捡破烂一样追教程、刷博客、看 YouTube…

这些 Web 技术,我学完就后悔:别像我一样把时间浪费在“看起来很香”的坑里

我有一支技术全面、经验丰富的小型团队&#xff0c;专注高效交付中等规模外包项目&#xff0c;有需要外包项目的可以联系我2015 年我刚一头扎进 Web 开发时&#xff0c;脑子里只有一句话&#xff1a;多学点&#xff0c;总没坏处。于是我像捡破烂一样追教程、刷博客、看 YouTube…

quickbi数据集报错

错误码: NOX5200013traceId: a2b3506c-aa59-4b01-a48e-2aa348021a72[NOX5200013] invalid calculate field [直播购买客户], expression syntax error or some dependence field [14513112cb] has gone.原因&#xff1a;之前新建的维度字段或者计算字段&#xff0c;依赖了其他字…

TypeScript 的本质并非类型,而是信任

我有一支技术全面、经验丰富的小型团队&#xff0c;专注高效交付中等规模外包项目&#xff0c;有需要外包项目的可以联系我静态类型悄悄修好的&#xff0c;不只是语法错误&#xff0c;而是你们的精神状态。老实说&#xff0c;我第一次听到 TypeScript 的时候&#xff0c;脑子里…

DSP算法学习

都是以QPSK为例针对不同的qam信号&#xff0c;一些算法可能不同&#xff0c;还需读者再去学习从IQ时延对准-IQ不平衡-粗色散补偿-自适应均衡解复用-频偏估计与补偿-载波相位恢复

信任与怀疑之间,我们如何与AI医生共存?

2025年&#xff0c;如果你在深夜感到喉咙干痒、轻微发热&#xff0c;第一反应可能不再是翻找家里的退烧药&#xff0c;而是打开手机&#xff0c;对着某款AI健康应用描述症状。几秒钟后&#xff0c;屏幕上跳出一行字&#xff1a;初步判断为风热感冒初期&#xff0c;建议多饮水、…

年底的 Java 行情怎么样?

大家好&#xff0c;我是R哥。2025 年的最后一个月了&#xff0c;也是最后一天了&#xff0c;说说这个月的 Java 行情怎么样。拿我们面试辅导的战绩来说吧&#xff0c;最后一个月 Offer 虽然不多&#xff0c;但质量非常高&#xff0c;都是互联网大厂&#xff08;字节、阿里、腾讯…

计及光伏电站快速无功响应特性的分布式电源优化配置方法(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&a…

【无功优化】基于二阶锥规划的配电网无功优化算法【IEEE33节点】(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&a…

动态调整保留周期(如高频访问文件延长生命周期)

临时文件自动化管理方案技术文章大纲背景与需求分析临时文件的定义与常见场景&#xff08;如日志、缓存、中间计算结果&#xff09;管理痛点&#xff1a;空间占用、安全风险、手动清理效率低自动化管理的核心目标&#xff1a;效率提升、资源优化、安全性保障技术方案设计要点生…

基于氢储能的热电联供型微电网优化调度方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

[特殊字符]_容器化部署的性能优化实战[20260108164558]

作为一名经历过多次容器化部署的工程师&#xff0c;我深知容器化环境下的性能优化有其独特之处。容器化虽然提供了良好的隔离性和可移植性&#xff0c;但也带来了新的性能挑战。今天我要分享的是在容器化环境下进行Web应用性能优化的实战经验。 &#x1f4a1; 容器化环境的性能…