【JavaSE】Java基础语法(十七)
文章目录
- 1. final
- 2. 代码块
- 2.1 代码块概述
- 2.2 代码块分类
1. final
- fianl关键字的作用
- final代表最终的意思,可以修饰成员方法,成员变量,类
- final修饰类、方法、变量的效果
- fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)
- final修饰方法:该方法不能被重写
- final修饰变量:表明该变量是一个常量,不能再次赋值
- 变量是基本类型,不能改变的是值
- 变量是引用类型,不能改变的是地址值,但地址里面的内容是可以改变的
- 举例
public static void main(String[] args){final Student s = new Student(23);s = new Student(24); // 错误s.setAge(24); // 正确 }
2. 代码块
2.1 代码块概述
在Java中,使用 { } 括起来的代码被称为代码块
2.2 代码块分类
-
局部代码块
- 位置: 方法中定义
- 作用: 限定变量的生命周期,及早释放,提高内存利用率
- 示例代码
public class Test {/*局部代码块位置:方法中定义作用:限定变量的生命周期,及早释放,提高内存利用率*/public static void main(String[] args) {{int a = 10;System.out.println(a);}// System.out.println(a);} }
-
构造代码块
- 位置: 类中方法外定义
- 特点: 每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行
- 作用: 将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性
- 示例代码
public class Test {/*构造代码块:位置:类中方法外定义特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性*/public static void main(String[] args) {Student stu1 = new Student();Student stu2 = new Student(10);} }class Student {{System.out.println("好好学习");}public Student(){System.out.println("空参数构造方法");}public Student(int a){System.out.println("带参数构造方法...........");} }
- 静态代码块
- 位置: 类中方法外定义
- 特点: 需要通过static关键字修饰,随着类的加载而加载,并且只执行一次
- 作用: 在类加载的时候做一些数据初始化的操作
- 示例代码
public class Test {/*静态代码块:位置:类中方法外定义特点:需要通过static关键字修饰,随着类的加载而加载,并且只执行一次作用:在类加载的时候做一些数据初始化的操作*/public static void main(String[] args) {Person p1 = new Person();Person p2 = new Person(10);} }class Person {static {System.out.println("我是静态代码块, 我执行了");}public Person(){System.out.println("我是Person类的空参数构造方法");}public Person(int a){System.out.println("我是Person类的带...........参数构造方法");} }
相关文章:

【JavaSE】Java基础语法(十七)
文章目录 1. final2. 代码块2.1 代码块概述2.2 代码块分类 1. final fianl关键字的作用 final代表最终的意思,可以修饰成员方法,成员变量,类 final修饰类、方法、变量的效果 fianl修饰类:该类不能被继承(不能有子类&a…...

《Spring Guides系列学习》guide11 - guide15
要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…...

软件测试面试了一个00后,让我见识到了什么是内卷届的天花板
公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。令我印象最深的是一个00后测试员,他…...
JAVA BigDecimal 比较大小 、计算
1:比较大小 注意:使用compareTo()方法比较大小时 参与比较的两个值 必须有值 不能为空 BigDecimal a new BigDecimal("3"); BigDecimal b new BigDecimal("4"); if (a.compareTo(b) < 0) { System.…...
并发编程Bug的根源
并发编程Bug的根源 并发编程Bug是指在多线程编程中出现的错误。并发编程需要考虑多个线程同时执行的情况,因此需要特别小心,以避免出现各种问题。在本文中,我们将探讨并发编程Bug的根源,并提供一些例子,以帮助读者更好…...

从零搭建微服务-认证中心(二)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址:https://gitee.com/csps/mingyue 文档地址:https://gitee.com/csps/mingyue/wikis 创建新项目 MingYue Idea 创建 maven 项目这…...
python入门(11)面向对象 :模块与包
1. 模块 1.1 什么是模块 在 Python 中,模块是一个包含了函数、类和变量的文件。模块提供了一种组织代码的方式,使得代码更加可重用和可维护。你可以使用 Python 内置的模块,也可以创建自己的模块。 Python 模块的特点包括: 封装…...

《深入理解计算机系统(CSAPP)》第3章 程序的机器级表示 - 学习笔记
写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…...
【数据结构】第六周
目录 银行排队——队列 公共钥匙盒——队列 等值子串 KMP模式匹配 大整数相乘 最长公共子串 银行排队——队列 【问题描述】 我们大多都有在银行排队的经历,唉,那坑爹的排队啊!现在就让我们来算算我们这些客户平均需要等多久吧。 每天…...

6.4.6拓扑排序
用DAG(有向无环图)表示一个工程。顶点表示活动,有向边<Vi,Vj>表示活动Vi活动必须先与Vj活动进行。 所谓的拓扑排序:找到做事的先后顺序 以上根据拓扑排序的实现: 加入对有回路的图进行拓扑排序&#…...

Ae:常用内置抠像效果
Ae 中的抠像都是基于效果控件来实现的,最终生成动态遮罩来控制画面像素的透明度。 常用的内置抠像效果有:提取、线性颜色键、颜色差值键、内部/外部键等。 黑色或白色背景的抠像 对于白色或黑色背景的素材,可直接尝试图层混合模式。 或者&…...
[ 支付宝支付笔记]
目录 前言: 支付宝支付: 创建AlipayClient对象(注意,这里的appId、私钥、公钥等信息需要根据实际情况进行替换): 构造AlipayTradePagePayRequest对象,设置订单信息等参数: 调用AlipayClient对象的page…...

2023九坤投资暑期实习笔试复盘
5.22号笔试,5.24确认自己笔试挂。想想这也是自己第一次做量化私募基金的笔试,在此复盘一下。情况:北邮本硕。但开始准备暑期准备的比较晚,4月初才开始一边刷题一边投简历,所以手撕算法不太强,但运气和灵感好…...

深度学习的定义和未来发展趋势
深度学习的定义和未来发展趋势 什么是深度学习数学和编程的基础知识深度学习的应用领域深度学习的常见算法和模型训练深度学习模型深度学习的未来 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域新星创作者&#…...

如何更改 Linux 文件和目录权限?
在Linux系统中,文件和目录权限是安全性和访问控制的关键组成部分。正确设置文件和目录的权限可以确保只有授权的用户能够读取、写入或执行这些文件和目录。 本文将详细介绍如何在Linux系统中更改文件和目录的权限。 1. 文件和目录权限概述 在Linux系统中ÿ…...

Revit楼板问题:楼板连接处以及楼板开洞,一键开洞
在我们做楼梯时,楼梯与楼板处的连接处理不是那么符合实际,会出现一些问题,如下图,这样的连接会导致楼梯配筋时钢筋外露。 我们来学习如何调节楼板与楼板连接处的高度,选中楼梯,点击“编辑楼梯”在所需要更改…...

【AI领域+餐饮】| 论ChatGPT在餐饮行业的应用展望
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…...

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(5月29日论文合集)
文章目录 一、检测相关(12篇)1.1 Linear Object Detection in Document Images using Multiple Object Tracking1.2 Hybrid Energy Based Model in the Feature Space for Out-of-Distribution Detection1.3 BEV-IO: Enhancing Birds-Eye-View 3D Detection with Instance Occu…...

Altium Designer 相同电路多组复制布线
在进行设计开发的时候,总会遇到相同的电路,或者模块,这些电路可以使用相同的布局和走线。我们可以画好其中一部分,然后直接复制,就可以提高效率。下面记录我自己的实际操作过程,有一些地方遇到了问题&#…...

C++线程池介绍和C++代码实现
1、介绍 1.1 线程池应用场景 在进行创建线程任务时,如果需要频繁的创建线程、销毁线程,这样会极大地降低效率,因为创建线程也是需要时间的,一个完整的线程处理运行时间包括:线程的创建时间、线程运作时间、线程的销毁…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...