成员变量-java循环机构

news2024/11/30 8:44:19

1.概念

所谓的成员变量,是指在类中(不是方法或其他代码块)直接定义的变量。根据是否带有static关键字,成员变量又分为静态变量(类变量)、实例变量(对象变量)。成员变量在整个类的内部都有效,可以在当前类的任何方法中使用。另外如果成员变量不是被private修饰的,还可以在其他的类中引用。

2. 实例变量

实例变量也被成为对象变量,是指在类中定义的非static变量。实例变量具有如下特点:

● 实例变量声明在一个类中,但在方法、构造方法和语句块的外面;

● 当一个对象被实例化之后,每个实例变量的值也就跟着确定了;

● 实例变量在对象创建时创建,在对象被销毁时销毁;

● 实例变量对于类中的方法、构造方法或者语句块都是可见的。一般情况下我们应该把实例变量设为私有,通过访问修饰符可以使实例变量对子类也可见;

● 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;

● 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,应该使用完全限定名:ObjectReference.VariableName。

3. 静态变量

静态变量又被称为类变量,是被static修饰的、直接定义在类中(方法之外)的变量,它具有如下特点:

● 静态变量可以被public、private、final和static修饰;

● 静态变量在方法外面定义,但可以在静态语句块中初始化,且初始化后不可被改变;

● 静态变量与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量都声明为public类型;

● 静态变量的默认值和实例变量相似;

● 静态变量通过ClassName.VariableName的形式进行访问;

静态变量存储在静态存储区;

静态变量在第一次被访问时创建,在程序结束时销毁;

无论在一个类中创建了多少个对象,一个类都只拥有类变量的一份拷贝;

● 静态变量被声明为public static final类型时,变量名称一般建议使用大写字母。

4. 权限修饰符

大家要注意,成员变量的作用域,是可以通过权限修饰符来进行修改的。也就是说,我们可以给一个成员变量不同的修饰符,赋予该变量不同的权限。比如,我们可以给一个人身上赋予不同的”角色标签“,就可以改变这个人的”权力大小“。在Java中,有如下4个权限修饰符

1. private私有的修饰符:可以修饰成员变量、成员方法、构造方法,但不能修饰类(内部类除外)被private修饰的成员只能在被修饰的本类中访问,在其他类中不能调用。一般被private修饰的成员变量,是通过公开的set和get方法向外界提供访问方式。

2. defalut默认的修饰符:不用写任何关键字,它可以修饰类、成员变量、成员方法、构造方法变量被默认权限修饰后,只能被本类以及同一个包下的其他类访问。

3. protected受保护的修饰符:可以修饰成员变量、成员方法、构造方法,但不能修饰类(内部类除外)。成员变量被protected修饰后,可以在同一类内部,和同一包中的其他类访问。如果不同包中的类想要访问被protected修饰的成员,这个类必须是其子类。

4. public公开的修饰符:是权限最大的修饰符,可以修饰类、成员变量、成员方法、构造方法。成员变量被public修饰后,可以在任何一个类中任意使用,不管是否是同一个包

5. 案例

在下面的案例中,壹哥定义了2个成员变量供大家参考:

public class Demo01 {

	private int age = 18;//实例变量、对象变量,在当前的Demo01类内部有效
	
    public static String msg = "Hello,一一哥";//静态变量、类变量,因为是public公开的,在当前Demo01类内部,及其他类中都可以使用

	public static void main(String[] args) {
        //注意:在static静态方法中不能引用非静态变量
		//System.out.println("age=" + age);

		System.out.println("msg=" + msg);
	}
}

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

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

相关文章

NFS介绍及服务器搭建

一、NFS 简介 NFS,英文全称 Network File System,主要功能:通过网络,让不同的机器、不同的操作系统可以共享文件。类似windows的共享文件夹 ​ NFS服务器共享本机目录,客户端机器挂载该目录后,就可以像自…

AI+OCR赋能古彝文数字化—让经典重新跳动

1️⃣ 彝文与古彝文概况文化是一个民族社会历史发展到一定程度的产物,代表着文明发展的程度,而文字是文化的一种载体,文字的出现是社会进入文明阶段的重要标志之一,其生动记录着一个民族的智慧成果,深刻反映着一个民族…

Unity 3D 环境特效||Unity 3D 游戏场景设计实例

Unity 3D 环境特效 一般情况下,要在游戏场景中添加雾特效和水特效较为困难,因为需要开发人员懂得着色器语言且能够熟练地使用它进行编程。 Unity 3D 游戏开发引擎为了能够简单地还原真实世界中的场景,其中内置了雾特效并在标准资源包中添加…

mmLab系列使用方法

mmLab系列使用方法环境搭建mmdetection检查数据集运行部署mmdeploy环境搭建使用mmOCRmmsegmentation环境搭建 Windows最推荐安装方法: 首先需要查好自己gpu的CUDA版本,根据版本到pytorch官方网站查找对应的pytorch版本(!!!只查找不下载!)ht…

Mybatis源码分析(七)MapperMethod的INSERT分析

目录一 INSERT 语句1.1 参数的对应解析convertArgsToSqlCommandParam1.2 ID获取对应的MappedStatement1.3 MappedStatement交给执行器执行1.4 不同的执行器获取不同的StatementHandler1.5 根据参数获取BoundSql1.6 执行器配置参数处理器ParameterHandler1.7 拿到StatementHandl…

人工智能-http协议和静态服务器

目录1、HTTP协议1.1 网址1.2 http协议的介绍1.3 http请求报文1.4 http响应报文1.5查看http协议的通信过程2、静态web服务器程序开发2.1 搭建python自带的静态web服务器2.2 静态web服务器-返回固定页面数据1、HTTP协议 1.1 网址 网站又称为U…

【报错】assert failed: xQueueSemaphoreTake queue.c:1545 (( pxQueue ))

🌱 hi,最近开始写嵌入式,碰到蛮多新的问题,也调bug到凌晨五点过。欢迎关注我,一起讨论交流 开发环境 在VScode中使用Arduino,开发板ESP32S3 报错代码 使用队列接收服务器消息,FIFO依次处理消…

ROS1学习笔记:参数的使用与编程方法(ubuntu20.04)

参考B站古月居ROS入门21讲: 参数的使用与编程方法 基于VMware Ubuntu 20.04 Noetic版本的环境 文章目录一、概念图讲解二、创建功能包三、参数命令行的使用方法:rosparam显示某个参数值:rosparam get设定某个参数值:rosparam set将…

linux小程序—进度条(动态演示)

文章目录1. \n与\r的区别1. linux环境下2. windows环境下2. 缓冲区问题1.\n的情况2.\r的情况3. \n与\r的情况对比4. 使用fflush函数观察\r情况5. 不为\n与\r的情况3.进度条的实现1. printf 打印字符问题1. 修改前2.修改后2 . 注意事项3. 整体实现1. makefile(自动化编译工具&am…

一篇文章教会你Linux下《常用操作指令》

基本指令首言ls(查看目录)pwds(显示用户当前所在目录)cd(改变工作目录)mkdir(创建目录)rmdir(删除目录)touch (新建文件或更新文件时间&#xff0…

【Python】获取视频弹幕并生成词云

目录一、摘要二、获取目标视频cid三、获取视频弹幕xml文件四、处理弹幕文件五、生成词云六、完整参考代码一、摘要 就是那个大家都用的弹幕视频网站,不写名字了,写了老是不能通过。 获取视频的弹幕文件(xml),并生成如图…

认真分享一个让我变厉害的小建议

很多朋友,加我好友之后,第一句话通常是:我想提高英语,有什么资料推荐? 这要看你学英语的目的了。 我们学英语是为了什么? 理由可能很多,我就说个最俗的目的吧,为了发财。 想发财应向谁学习&…

代码随想录第31天|● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

455.分发饼干 大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。 这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。 可以尝试使用贪心策略&#xf…

[ 数据结构 ] 最小生成树(MST)--------普里姆算法、克鲁斯卡尔算法

0 修路问题 有胜利乡有 7 个村庄(A, B, C, D, E, F, G) ,现在需要修路把 7 个村庄连通各个村庄的距离用边线表示(权) ,比如 A – B 距离 5 公里问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 思路: 将 10 条边&a…

Java常用工具类方法(上)

1. Collections首先出场的是java.util包下的Collections类&#xff0c;该类主要用于操作集合或者返回集合&#xff0c;我个人非常喜欢用它。1.1 排序在工作中经常有对集合排序的需求。看看使用Collections工具是如何实现升序和降序的&#xff1a;List<Integer> list new…

揭秘链动2+1商业模式玩法

链动21模式主要是打造裂变团队的同时又能快速地将平台销售额提升起来&#xff0c;链动模式可以说颠覆传统的分销&#xff0c;算是一个创新更能吸引用户&#xff0c;稳住会员&#xff0c;拓展新客户的商业模式。 链动21模式有两个身份&#xff0c;分别是代理和老板 【代理商】…

Java高手速成 | 高质量代码编写最佳实践

程序员之间交流时&#xff0c;会经常使用非程序员无法理解的行话&#xff0c;或者使用令操不同编程语言的程序员理解起来比较模糊的行话。 但是&#xff0c;那些操相同编程语言的程序员理解起来不会产生什么问题。 这有时也取决于程序员所掌握知识的渊博程度。 一个新手或许不理…

以 Animated Drawings APP 为例,用 TorchServe 进行模型调优

内容导读 上节介绍了 TorchServe 模型部署调优的 5 个步骤&#xff0c;将模型部署到生产环境中。本节以 Animated Drawings APP 为例&#xff0c;实际演示 TorchServe 的模型优化效果。 本文首发自微信公众号&#xff1a;PyTorch 开发者社区 去年&#xff0c;Meta 凭借 Animate…

win系统重装系统后提示 BitLocker(磁盘加密)密钥查找及如何关闭

文章目录前言如何找到恢复秘钥&#xff0c;解锁磁盘1、打开链接&#xff1a;[https://support.microsoft.com/zh-cn/help/4026181/windows-10-find-my-bitlocker-recovery-key](https://support.microsoft.com/zh-cn/help/4026181/windows-10-find-my-bitlocker-recovery-key)2…

Nuxt3+ElementPlus构建打包部署手记

文章目录为何选Nuxt.js?工程package.json参考目录结构页面之间的关系几个主要命令动态组件获取后台数据SSR打包方式部署参考文档为何选Nuxt.js? 在前后端分离出现之前&#xff0c;传统的web页面都是服务端渲染的&#xff0c;如JSP、PHP、Python Django&#xff0c;还有各种模…