包/final/权限修饰符/代码块

包package

1、包的作用

包用来管理不同的类。

2、包名

包名要全部小写,一般是域名反写,如com.liu。在Java中,java解释器会将package中的.解释为目录分隔符/,也就是说该文件的目录结构为:...com/liu/...

3、全类名/全限定名

包名+类名,如com.liu.Student

4、使用import关键字导包

①当导入一个包后,这个包下的其他类就可以直接使用了,不用再导入;

②java.lang包下的类也可以直接使用;

③其他情况,比如不同包中的其他类要导个包或者import全类名才可以使用。

final

学习了继承之后知道了子类可以修改父类中的属性值或者重写父类中的行为,但是如果不想被改变则可以用final关键字修饰。

1、修饰变量

不可被改变,叫常量,只能被赋值一次。

被final修饰的常量名称,一般都有书写规范,所有字母都大写,单词之间使用_连接。 

final修饰的变量

(1)基本数据类型:其值不可再变化;

(2)引用数据类型:指向的地址不会再变化,但地址中存的内容是可能会被改变的。

2、修饰方法

此方法不可被子类重写。如果这个方法表示的是一种规则,不想被别人改变,则可用final修饰。

3、修饰类

不可被继承。像Java中提供的Math、String和Scanner这些类都是被final修饰的,只希望我们使用,不想要我们去改变它们的行为。

后面的2和3只用知道就行了,1用的较多,要掌握。

权限修饰符

控制可以被访问的范围。

范围分为四个部分,分别是本类、同一包下的其他类、不同包下的子类、不同包中的无关类。

1、private
2、默认/缺省
3、protected

想让其他包中的子类也可以访问到,提出了protected修饰符。

4、public

实际开发中最常用的就是private和public:

(1)成员变量私有

(2)方法公开

特例:如果一个方法中的代码是其他方法中的共性抽取出来的,这个方法一般也私有,不对外提供。

代码块

用大括号括起来的代码。

1、局部代码块

写在方法里面的一对大括号,可以提前结束变量的生命周期,已被淘汰。

2、构造代码块

把构造方法中重复的代码抽取出来放到用大括号括起来,成员变量的位置。

格式:

{//语句体;
}

在每次创建本类对象的时候一定会先执行构造代码块,然后再执行构造方法。

这个技术也渐渐淘汰了,因为太死了,不够灵活,即在创建对象的时候构造代码块中的内容一定会执行,没有办法不执行,但是有时候我们就是不想要执行。

所以如果构造方法有共性的部分可以写成一个构造方法由其他构造方法通过this进行调用,也可以写成一个方法由构造方法去调用。

3、静态代码块

格式:

static {//语句体;
}

随着类的加载而出现,只执行一次。

什么时候用?在类加载的时候做一些数据初始化,并且只希望只执行一次的时候就可以用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.pwn的汇编基础(提及第一个溢出:整数溢出)

汇编掌握程度 能看懂就行,绝大多数情况不需要真正的编程(shellcode题除外) 其实有时候也不需要读汇编,ida F5 通常都是分析gadget,知道怎么用, 调试程序也不需要分析每一条汇编指令,单步执行然后查看寄存器状态即可 但…

Text2SQL提问中包括时间的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

实现多数相加,但是传的参不固定

一、情景 一般实现的加法和减法等简单的相加减函数的话。一般都是写好固定传的参数。比如: function add(a,b) {return a b;} 这是固定的传入俩个,如果是三个呢,有人说当然好办! 这样写不就行了! function add(a…

vue中自定义设置多语言(包括使用vue-i18n),并且运行js脚本自动生成多语言文件

在项目中需要进行多个国家语言的切换时,可以用到下面方法其中一个 一、自定义设置多语言 方法一: 可以自己编写一个设置多语言文件 在项目新建js文件,命名为:language.js,代码如下 // language.js 文档 let languagePage {CN…

聊一下Maven打包的问题(jar要发布)

文章目录 一、问题和现象二、解决方法(1)方法一、maven-jar-pluginmaven-dependency-plugin(2)方法二、maven-assembly-plugin 一、问题和现象 现在的开发一直都是用spring boot,突然有一天,要自己开发一个…

Django之项目开发(二)

目录 一、安装和使用uWSGI 1.1、安装 1.2、配置文件 1.3、启动与停止uwsgi 二、安装nginx 三、Nginx 配置uWSGI 四、Nginx配置静态文件 五、Nginx配置负载均衡 一、安装和使用uWSGI uWSGI 是一个 Web 服务器,可以用来部署 Python Web 应用。它是一个高性能的通用的 We…

味蕾与理解:应对自闭症儿童挑食的策略与理解

在星贝育园自闭症康复学校,我们深知饮食习惯对孩子们的成长至关重要,而自闭症儿童的挑食问题往往比同龄儿童更为突出,给家长和照顾者带来了额外的挑战。今天,作为这里的老师,我想与大家分享一些应对自闭症儿童挑食的策…

(南京观海微电子)——电阻应用及选取

什么是电阻? 电阻是描述导体导电性能的物理量,用R表示。 电阻由导体两端的电压U与通过导体的电流I的比值来定义,即: 所以,当导体两端的电压一定时,电阻愈大,通过的电流就愈小;反之&…

鸿蒙应用实践:利用扣子API开发起床文案生成器

前言 扣子是一个新一代 AI 应用开发平台,无需编程基础即可快速搭建基于大模型的 Bot,并发布到各个渠道。平台优势包括无限拓展的能力集(内置和自定义插件)、丰富的数据源(支持多种数据格式和上传方式)、持…

[Unity入门01] Unity基本操作

参考的傅老师的教程学了一下Unity的基础操作: [傅老師/Unity教學] Unity3D基礎入門 [華梵大學] 遊戲引擎應用基礎(Unity版本) Class#01 移动:鼠标中键旋转:鼠标右键放大:鼠标滚轮飞行模式:右键WASDQEFocus模式&…

算法设计与分析 实验5 并查集法求图论桥问题

目录 一、实验目的 二、问题描述 三、实验要求 四、实验内容 (一)基准算法 (二)高效算法 五、实验结论 一、实验目的 1. 掌握图的连通性。 2. 掌握并查集的基本原理和应用。 二、问题描述 在图论中,一条边被称…

基于Android Studio订餐管理项目

目录 项目介绍 图片展示 运行环境 获取方式 项目介绍 能够实现登录,注册、首页、订餐、购物车,我的。 用户注册后,登陆客户端即可完成订餐、浏览菜谱等功能,点餐,加入购物车,结算,以及删减…

【学习笔记】操作系统--万字长文

计算机操作系统 文章目录 计算机操作系统引言 操作系统基本概念第一章 引论目标和作用操作系统发展历程单道批处理系统多道批处理系统分时系统实时系统 基本特征并发共享虚拟异步性(不确定性) 操作系统主要功能处理机管理内存管理设备管理文件管理 第二章…

python `queue` 模块提供了同步的、线程安全的队列类

在Python中,queue 模块提供了同步的、线程安全的队列类,这使得在多线程环境下共享数据变得简单。下面是一个使用 queue.Queue 的并发编程示例,其中使用了 threading 模块来创建多个线程,这些线程将向队列中添加元素并从队列中取出…

探索 WebKit 的前沿之旅:HTML5 新特性的卓越处理

探索 WebKit 的前沿之旅:HTML5 新特性的卓越处理 随着 Web 技术的飞速发展,HTML5 已经成为构建现代网页和应用的基石。WebKit,作为领先的浏览器引擎之一,承载着将这些创新技术转化为用户可感知体验的使命。本文将深入探讨 WebKit…

工程化:Commitlint / 规范化Git提交消息格式

一、理解Commitlint Commitlint是一个用于规范化Git提交消息格式的工具。它基于Node.js,通过一系列的规则来检查Git提交信息的格式,确保它们遵循预定义的标准。 1.1、Commitlint的核心功能 代码规则检查:Commitlint基于代码规则进行检查&a…

汇聚荣拼多多电商的技巧有哪些?

在电商平台上,汇聚荣拼多多以其独特的商业模式和创新的营销策略吸引了大量消费者。那么,如何在这样一个竞争激烈的平台上脱颖而出,成为销售佼佼者呢?本文将深入探讨汇聚荣拼多多电商的成功技巧。 一、精准定位目标客户群体 首先,…

Python魔法函数(Magic Methods简介

在 Python 中,魔法函数(Magic Methods)也称为双下划线方法(Dunder Methods),是指那些名字以双下划线开头和结尾的特殊方法。 这些方法可以让您的自定义类实现一些特定的行为,从而与 Python 的内…

绝区肆--2024 年AI安全状况

前言 随着人工智能系统变得越来越强大和普及,与之相关的安全问题也越来越多。让我们来看看 2024 年人工智能安全的现状——评估威胁、分析漏洞、审查有前景的防御策略,并推测这一关键领域的未来可能如何。 主要的人工智能安全威胁 人工智能系统和应用程…

Qt 绘图详解

文章目录 头文件和构造函数启用反锯齿功能绘制矩形绘制圆角矩形绘制椭圆绘制圆弧绘制弦绘制凸多边形绘制图片绘制直线绘制多条直线绘制多点连接的线绘制路径绘制扇形绘制点绘制文本擦除矩形区域填充矩形填充路径 头文件和构造函数 #include "mainwindow.h" #include…