news 2026/4/22 20:11:14

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/4/23 11:26:31

[特殊字符]_Web框架性能终极对决:谁才是真正的速度王者[20260108163208]

作为一名拥有10年开发经验的全栈工程师&#xff0c;我经历过无数Web框架的兴衰更替。从早期的jQuery时代到现在的Rust高性能框架&#xff0c;我见证了Web开发技术的飞速发展。今天我要分享一个让我震惊的性能对比测试&#xff0c;这个测试结果彻底改变了我对Web框架性能的认知。…

作者头像 李华
网站建设 2026/4/23 14:52:08

2026年,“交互”会出现新的定义

随着“新人”&#xff08;用户群体迭代&#xff09;、“新机”&#xff08;智能设备与技术革新&#xff09;、“新环境”&#xff08;场景扩展与虚实融合&#xff09;的涌现&#xff0c;人机交互正从传统的“工具-指令”模式向“智能伙伴-情境化协同”模式演进&#xff0c;形成…

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

欧莱雅集团在CES 2026上发布LED光能面膜

、美通社消息&#xff1a;全球美妆行业巨头欧莱雅集团在2026年国际消费类电子产品展览会(CES 2026)上正式发布两项突破性技术&#xff0c;将光学的力量引入美发与护肤领域&#xff1a;多效光能美发棒(Light Straight Multi-styler)与LED光能面膜(LED Face Mask)&#xff0c;均…

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

DeepSeek突然更新R1论文:暴增64页,能公开的全公开了

来源&#xff1a;DeepTech深科技 运营/排版&#xff1a;何晨龙 2025 年 9 月&#xff0c;DeepSeek&#xff0d;R1 论文以封面文章的形式登上 Nature 杂志&#xff0c;成为全球首个通过顶级期刊独立同行评审的主流大语言模型。从 2 月 14 日投稿到 9 月 17 日正式发表&#xff0…

作者头像 李华