新闻详情

新闻详情

首页 / 资讯中心 / 详情

包、final、权限修饰符、代码块讲解

发布时间:2026/9/1 15:42:20来源:尧图网络
包、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; } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Kali Linux 安全入门:从零搭建合法渗透测试环境与核心工具实践 2026/9/1 16:27:39

Kali Linux 安全入门:从零搭建合法渗透测试环境与核心工具实践

在实际网络安全学习和研究领域,Kali Linux 是一个绕不开的工具集。它整合了大量安全工具,为安全研究人员、渗透测试工程师和网络管理员提供了一个标准化的操作平台。然而,对于初学者而言,面对一个预装了数百个工具、界面“原生”的…

阅读更多 →
其实不是你文笔差,也不是你写不出好作品,而是你没有选对适配的押韵体系。 2026/9/1 16:27:39

其实不是你文笔差,也不是你写不出好作品,而是你没有选对适配的押韵体系。

其实不是你文笔差,也不是你写不出好作品,而是你没有选对适配的押韵体系。明明你有写作的热爱与灵感,却被找不到合适的韵脚困住,才华被押韵拖累。强行修改词句,灵感没了不说,还经常出现:❌ 强行凑…

阅读更多 →
Java volatile关键字深度解析:从内存屏障到单例模式实战 2026/9/1 16:27:39

Java volatile关键字深度解析:从内存屏障到单例模式实战

大家好,我是CSDN的一名技术博主。在并发编程的世界里,volatile关键字就像一位低调的“交通协管员”,它不直接参与运算,却对多线程间的数据流动秩序至关重要。很多开发者知道它用于“保证可见性”,但面对“它能防止指令…

阅读更多 →
x86 交叉编译 ROS2 Jazzy 到 ARM64:从零跑通 + 踩坑实录 2026/9/1 16:27:39

x86 交叉编译 ROS2 Jazzy 到 ARM64:从零跑通 + 踩坑实录

CC-BY-SA-4.0 | © 2026 KY (kyshipit) x86 交叉编译 ROS2 Jazzy 到 ARM64:从零跑通 踩坑实录 一、为什么要在 x86 电脑上交叉编译? 板端 colcon build 仅适合早期验证 demo。随着项目依赖增多,板端全量编译耗时会从几分钟膨胀至十几分…

阅读更多 →
安全行业大数据开发面试:Hive数仓分层与Spark SQL调优实战 2026/9/1 16:27:39

安全行业大数据开发面试:Hive数仓分层与Spark SQL调优实战

1. 岗位画像与面试重心解读1.1 安全行业大数据开发到底在做什么先把这个岗位的背景聊透。奇安信是做网络安全起家的,业务线覆盖终端安全、威胁检测、态势感知、零信任、安全服务这些方向。这类公司的大数据开发岗位和互联网电商、短视频那种“用户增长驱动”的大数据…

阅读更多 →
从AI修图到工程化:构建稳定批量图片处理流水线的完整指南 2026/9/1 16:24:38

从AI修图到工程化:构建稳定批量图片处理流水线的完整指南

昨晚,我盯着屏幕,看着那个“正在处理”的进度条从1%缓慢地爬到99%,然后……卡住了。这已经不是第一次了。从一张简单的产品图抠图,到批量处理几百张活动照片,从调整色调到智能填充背景,我几乎把所有能找到的…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞