包、final、权限修饰符、代码块讲解 本次讲包、final、权限修饰符、代码块。1.包包就是文件夹。用来管理各种不同功能的Java类方便后期代码维护。包名的规则公司域名反写包的作用需要全部英文小写见名知意。比如说包名是com.itheima.domain。在代码中就是最上边的packagepackage com.itheima.domain在使用其他类时需要使用全名如下public class Test { public static void main(String[] args) { com.itheima.domain.Student s new com.itheima.domain.Student(); } }但是如果我们一直这么写代码的话会很麻烦所以我们如果用导包的话很好用import com.itheima.domain.Student; public class Test { public static void main(String[] args) { Student s new Student(); } }这样就很简单了只需要写一个Student了。使用其他类的规则使用同一个包中的类时不需要导包。使用Java.long包中的类时不需要导包。Java.long包是Java的核心包所以不需要其他情况都需要导包。如果同时使用两个包中的同名类。我们如果打开字符串String这个类就会发现他是定义在Java.long包所以是不需要导包的直接就可以使用 。看这个当我们的Test和Teacher在两个不同的包里边我们在Test里边去用domain包的Teacher就会发现红色报错是因为此时Java不知道这个Teacher是从哪来的所以需要在前边导包需要写上 import com.itheima.domain.Teacher这样才可以使用Teacher tnew Teacher();看这段代码当在一个项目中两个包都有相同的Teacher类当在另一个test中引用的时候其中一个可以导包另一个的话只能使用之前的同名类写一大堆上去。finalfinal的意思是最终的不可被改变的那么final都可以修饰什 么呢final可以修饰方法、类、变量这三个修饰方法则代表该方法是最终方法不能被重写修饰类则代表该类是最终类不能被继承修饰变量则代表这个变量改名为常量只能被赋值一次。我们看这段代码这就是代表用final修饰的方法不能被重写。当我们点开String类的时候就会发现他也是用final修饰的因为字符串这个类中的任何方法是不需要被重写的所以就直接把整个类final一下这样就代表String就是最终类了不能再继续写新的子类了。这是最简单的final修饰变量的代码final修饰变量分为两种final修饰的变量如果是基本类型那么变量存储的数据值不能发生改变。final修饰的变量如果是引用类型那么变量存储的地址值不能发生改变对象内部的可以改变。3.权限修饰符是用来控制一个成员能够被访问的范围的可以修饰成员变量、方法、构造方法、内部类。分类有四种作用范围由小到大private空着不写protectedpublic具体的作用范围如下图所示private权限修饰符已经在之前讲过了这所以本次直接从空着开始当在Animal类中写的name变量在本类中可以正常使用在下边同一个包中的Test类中也可以用name这个变量。当变量name被protected修饰的时候即使在不同的包中也可以使用代码块代码块主要分为三部分局部代码块、构造代码块、静态代码块。局部代码块的作用提前结束变量的生命周期已淘汰构造代码块的作用抽取构造方法中的重复代码不够灵活静态代码块的作用数据初始化重点主要学习静态代码块静态代码块是特点是需要通过static关键字修饰随着类的加载和加载并且自动触发一次只执行一次package com.itheima.codeblockdemo2; public class Student { private String name; private int age; static { System.out.println(静态代码块执行了); } public Student() { System.out.println(空参构造); } public Student(String name, int age) { System.out.println(有参构造); this.name name; this.age age; } public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } }

相关新闻

最新新闻

ArrayList 插入慢,LinkedList 一定快吗

ArrayList 插入慢,LinkedList 一定快吗

「Java 进阶之路」系列 Day21写在前面 模块二收尾了,从这篇开始进入模块三——集合框架。ArrayList 和 LinkedList 是最常被拿来对比的一对,很多人张口就是"数组适合查、链表适合改",但一问到"LinkedList插入一定比ArrayList快…

2026/9/1 16:17:09
【JMeter】:外观设置(Mac)

【JMeter】:外观设置(Mac)

JMeter外观设置(重启生效)⚠️注意:选择不同的外观可能会导致一些功能无法使用,比如使用高亮的外观,就有不能复制粘贴的bug;

2026/9/1 16:17:09
奇安信软件开发笔试复盘:安全编码与计算机基础考点解析

奇安信软件开发笔试复盘:安全编码与计算机基础考点解析

2023年春招那阵子,我集中投了一批网络安全方向的公司,奇安信的软件开发岗位笔试是其中准备得比较充分的一场。当时邮件里直接标注的是“软件开发方向试卷1”,在线笔试、双机位、全程录像,总时长90分钟。题目做完的第一感觉是&…

2026/9/1 16:17:09
嵌入式I2C协议深度解析:从原理到实战调试指南

嵌入式I2C协议深度解析:从原理到实战调试指南

如果你在嵌入式开发中遇到过这样的场景:想用一个主控芯片连接多个传感器,却发现GPIO口不够用;或者调试一个I2C设备时,通信时好时坏,波形看起来都对,但就是读不出数据——那么,这篇文章就是为你准…

2026/9/1 16:17:09
从背概念到写系统:CS537与OSTEP操作系统自学路线指南

从背概念到写系统:CS537与OSTEP操作系统自学路线指南

威斯康星麦迪逊的CS537操作系统课,搭配该校Remzi教授团队编写的免费教材OSTEP,是一套很适合用来把操作系统从“背概念”推进到“写系统”的学习组合。很多人学操作系统都有这样的经历:进程、线程、虚拟内存、文件系统这些名词都认识&#xff…

2026/9/1 16:17:09
丙烯酸聚氨酯面漆能直接刷混凝土吗?三层配套才是正解

丙烯酸聚氨酯面漆能直接刷混凝土吗?三层配套才是正解

混凝土看起来坚硬密实,实际上是一个布满微孔的。在电子显微镜下,混凝土表面布满相互连通的毛细通道,孔隙率可达10%-20%。当有人问"丙烯酸聚氨酯面漆能不能直接刷在混凝土上"时,答案只有一个字:不能。这不是面…

2026/9/1 16:12:09