news 2026/7/26 3:13:54

Java笔记9

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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关键字进行修饰,随类的加载而加载,自动触发,只执行一次

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 4:10:35

拆解 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 总是…

作者头像 李华
网站建设 2026/7/19 6:02:35

C#被评为2025年度编程语言!

关注星标公众号&#xff0c;不错过精彩内容 来源 | OSC开源社区 近日TIOBE宣布 C# 成为 2025 年度编程语言。 TIOBE CEO Paul Jansen 写道&#xff1a; 这是近三年来第二次&#xff0c;C# 被 TIOBE 指数评为“年度编程语言”。C# 获得这一称号&#xff0c;源于其在过去一年中排…

作者头像 李华
网站建设 2026/7/25 19:13:23

救命神器2026 TOP10 AI论文工具:本科生毕业论文写作全攻略

救命神器2026 TOP10 AI论文工具&#xff1a;本科生毕业论文写作全攻略 2026年AI论文工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI写作工具已经成为高校学生&#xff0c;尤其是本科生撰写毕业论文的重要辅助工具。然而&…

作者头像 李华
网站建设 2026/7/24 13:26:05

汽车焊接工艺参数优化的方法和案例

焊接工艺参数的重要性与挑战在现代汽车制造领域&#xff0c;焊接工艺参数的优化是保证产品质量和生产效率的核心环节。焊接参数包括电流、电压、焊接速度、热输入量等多个维度&#xff0c;它们不仅影响焊缝的微观结构&#xff0c;还直接关系到整车的密封性、强度以及耐久性。然…

作者头像 李华
网站建设 2026/7/24 16:39:57

当云原生遇见VMware

技术融合背景云原生与VMware的协同价值&#xff0c;传统虚拟化与容器化技术的互补性&#xff0c;企业混合云转型需求。VMware在云原生生态中的角色VMware Tanzu产品套件解析&#xff08;TKG、TAP、TMC&#xff09;&#xff0c;vSphere与Kubernetes集成&#xff08;VCF&#xff…

作者头像 李华