java 静态块的作用域_Java语言的作用域及分类

2023-11-01

在java编程中,将变量声明在不同的位置就具有不同的作用域,而作用域的大小则使用{……}来确定,使用{……}可以确定定义的变量的可见性及生命周期。

目前在java编程中,变量类型主要有三种,分别如下:

一、 成员变量

类的成员变量的作用范围同类的实例化对象的作用范围相同。当类被实例化的时候,成员变量就会在内存中分配空间,并初始化。直到类的实例化对象的生命周期结束时,成员变量的生命周期才结束。

二、 静态变量

使用static关键字修饰的成员变量称为静态变量,或者全局变量。同成员变量不同的是,静态变量不依赖于特定的实例对象,而是被所有的实例锁共享。也就是说,只要一个类被加载,JVM就会给类的静态变量分配存储空间。因此,我们可以使用类名.变量名的方式直接访问成员变量。

三、 局部变量

局部变量的作用域与可见性是在其所属的{……}范围内。

另外,成员变量成员变量根据作用域限定符的不同,也有四种作用域,它们的区别见下表。

public 公开的

表明该成员变量或方法对所有类或对象都是可见的,所有类或对象都可以直接访问。

private 私有的

表明该成员变量或方法是私有的,只有当前类对其具有访问权限,除此之外的其他类或者对象都没有访问权限。

protected 受保护的

表明该成员变量或方法对自己及其子类是可见的,即自己和子类具有权限访问。除此之外的其他类或对象都没有访问权限。

default 默认,也就是不加作用域限定符

表明该成员变量或方法只有自己和与其位于同一包内的类可见。若父类与子类位于同一个包内,则子类对父类的default成员变量或方法都有访问权限;若父类与子类位于不同的package (包)内,则没有访问权限。

需要注意的是,这些修饰符只能修饰成员变量,不能用来修饰局部变量。private与protected 不能用来修饰类 (只有 public 、abstract 或 final 能用来修饰类)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 静态块的作用域_Java语言的作用域及分类 的相关文章

  • char str[]与char *str的区别

    在C语言中 对字符串的操作主要有两种方式 一是使用字符数组 char str 二是使用字符指针 那么二者有什么区别呢 下面将分述二者的使用 最后进行比较 一 字符数组 使用char str 定义一个字符数组str 中括号内可以写上数字表示数
  • JavaScript实现select下拉菜单省份和城市的级联菜单

    使用JavaScript中变量定义省份及对应的城市 应用select标签对象 实现二级级联的下拉菜单选中效果 即在省份下拉菜单中选中一个省份时 在城市下拉菜单中出现该省份对应的城市 HTML代码 div class choosecity p
  • 解决高德地图label添加的点击事件在移动端无效

    解决高德地图label添加的点击事件在移动端无效 近日工作中需要用到高德地图在PC端和移动端同时适配的需求 在PC端撸代码和调试一切顺利 但是在将项目在平板中测试时 发现绑定在label中的click事件无法触发 通过各种调试发现应该是高德
  • 10 KVM虚拟机配置-虚拟CPU和虚拟内存

    文章目录 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 10 2 元素介绍 10 3 配置示例 10 KVM虚拟机配置 虚拟CPU和虚拟内存 10 1 概述 本节介绍虚拟CPU和虚拟内存的常用配置 10 2 元素介绍 vcp
  • 程序员工作上的闹心事 职场经验 正经的人生经验

    工作一直进展的很好 有些小瑕疵也整体影响不大 可是今天踩大坑了 我同时在做两个业务线的两个项目 A项目和B项目穿插进行 两位产品经理都达成了共识 A项目是主要的 只要有A项目的工作就先做 B项目在A做完之后再做 前几天A项目有了新需求开始开
  • 树莓派远程连接的三种方式总结

    总结远程连接树莓派的三种方式 对大部分linux系统同样适用 首先需要将树莓派连接上网 ifconfig记录ip地址 第一种 ssh远程连接 在linux下使用 ssh root 10 107 16 69 可以登录 在windows下使用p
  • unity 打包获取android手机系统权限

    查了一下资料 unity里面自带有动态获取用户权限的方法Permission 需要UnityEngine Android命名空间 使用动态获取接口RequestUserPermissions 参数是一个string数组类型参数 测试代码 u
  • 纯手工开发的网站如何快速对接CMS系统

    纯手工开发的网站如何对接CMS系统 在如今的建站市场上 大部分网站都是基于模板CMS系统建站 比如大家所熟知的织梦 帝国 WP等等 用这些CMS建站最大的好处就是有丰富的建站模板可供选择 建站费用低且大部分模板CMS系统开源相对来说易部署
  • 提高eclipse的性能,去除validate验证,关闭checking for update自动更新

    一 去除validate验证 1 给eclipse桌面快捷方式添加参数 这些按自己的机器来配置 可google到很多资料 如 D java eclipse3 2 1 eclipse exe XX UseParallelGC XX PermS
  • STM32硬件错误HardFault_Handler的处理方法

    在用Keil对STM32的程序进行仿真时程序有时会跑飞 停止仿真程序会停在HardFault Handler函数里的死循环while 1 中 这说明STM32出现了硬件错误 STM32出现硬件错误可能有以下原因 1 数组越界操作 2 内存溢
  • java动态加载jar文件并执行方法

    在项目开发的过程中 有时候需要动态灵活的加载某个jar包并执行里面的方法的时候 我们可以使用本篇文章写得方式去动态的加载jar包而不用使用原始方式引入jar包作为lib去使用 接下来介绍如何动态加载jar包 直接上代码 核心的方法就是下面这
  • 【windows】Git中添加密钥、ssh密钥的创建与查看(打开id_rsa.pub文件)

    Git的安装和下载参考 里面有下载路径和安装方法 比较全面 自行下载 推荐用迅雷下 不然很慢 https www cnblogs com donglt 5211 p 9374551 html 1 创建密钥 下载成功后 在C盘user目录下点
  • blender 给某个类型添加自定义属性

    import bpy Int bpy types Ojbect myInt bpy porps IntProperty name test max 10 min 1 default 5 Float bpy types Mesh myFloa
  • sqlite3安装错误 node-pre-gyp http 403

    sqlite3安装错误 如图可以发现 访问 https mapbox node binary s3 amazonaws com sqlite3 v5 0 1 napi v6 win32 x64 tar gz 报错 403 我们用浏览器进去
  • sqli-labs靶机训练(11-15)

    less 11 POST型 1 寻找漏洞类型 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img YrAkcwyg 1641296909427 C Users 84305 AppData Roaming Typora
  • 攻防世界web

    攻防世界web 前言 准备ctf比赛 这里把攻防世界分值低于5分的基本刷了一遍 分值再高刷不动了 练习 view source 没难度知识禁用了右键点击 ctrl u查看源码拿到flag get post 这题没什么好说的 按着提示来就能拿
  • 又一个开源工具搞完了,工作效率直接翻倍

    博客首页 派 大 星 欢迎关注 点赞 收藏 留言 本文由派大星原创编撰 系列专栏 开源专栏 本系列主要输出作者自创的开源项目 作品 低代码生成器平台 大家好 我是派大星 距离上一次开发出开源项目的时间已经过去一段时间了 也不知道大家有没有使
  • 使用本地mysql+linux实现mysql主从同步

    1 配置linux 保证linux已经安装好了mysql 1 1修改该linux配置文件 vim etc my cnf 1 2重启linux的mysql systemctl restart mysqld 1 3使用账户密码登录linux中的
  • Arduino小车资料整理

    目录 一 小车简介 二 材料清单 三 Arduino UNO R3简介及使用说明 四 各模块安装接线及测试 1 驱动模块接线及测试 1 减速直流电机 2 L298N电机驱动模块 3 具体接线 4 代码及测试 2 巡线模块接线及测试 1 TC

随机推荐

  • 解决 font-weight 无效的问题

    近期调页面时有几个 font weight 需要修改 无论怎么调整字体粗细都没有变化 深入研究后总结下文 初探 本地写个例子 代码如下 p class thin This is a paragraph p p class normal Th
  • springboot 定时任务@Scheduled 和 异步@Async

    使用 EnableScheduling开启功能 Configuration EnableScheduling public class ScheduleConfig 编写任务 Component public class Scheduled
  • linux下使用动态壁纸(fantascene)

    让你的linux桌面动起来 幻梦动态壁纸 我也是突发奇想 做了这么一个程序 目前在多个linux下可以运行 支持双屏 理论上说支持mpv gt 27 0 qt gt 5 6的系统版本可编译 ubuntu16 04可以自行删减代码和编译 或者
  • java玫瑰花代码_Java版给爱人表白的玫瑰花程序代码

    1 书写表白语句的frame 渐入功能 package com wanju blessing import java awt Color import java awt Container import java awt Dimension
  • 常用眼底图像数据集简介及下载--糖尿病视网膜病变 EyePacs,APTOS2019,STARE数据集

    1 糖尿病视网膜病变图像介绍 1 微动脉瘤通常出现在病变早期 它是由于眼部毛细血管缺氧导致血管壁变薄 从而在视网膜上呈现出深红色的点状物 2 出血点一般出现在血管附近 它是由于血管阻塞导致血液渗出形成的 呈现暗斑状 3 软性和硬性渗出物的形
  • python中变量,python中变量的概念

    python中变量的概念 在python中 变量就是一种标识符 它是数据的名字 更专业的理解 变量是内存中数据的引用 编程语言里的变量和初中学习代数时的方程变量很相似 前面学习数字类型 bool类型时 我们一直在交互式解释器里进行操作 目的
  • java springboot 实现从数据库查询数据下载为md格式文件

    java springboot 实现从数据库查询数据下载为md格式文件 param param response 功能描述 下载文件 标题 byId getTitle 内容 byId getTextContent 格式 response s
  • 增强型PWM(EPWM)如何输出互补功能?

    1 概念 互补 两根线 输出的PWM 只有一端导通 和死区概念类似 死区时间 指在这段时间 上下都没有输出 带死区的PWM波可以防止上下两个器件同时导通 也就是说 当一个器件导通后关闭 再经过一段死区 这时才能让另一个导通 例如 红色线条的
  • nuxt百度收录

    import cheerio from cheerio export default Global page headers https go nuxtjs dev config head mode universal 修改百度收录 hoo
  • 04 ImageView中图片保存到文件

    最近做的一个小App中的一个功能 把ImageView中的图片保存为一个 jpg文件 如果设备上有SDCard 图片会被保存到SD卡上 如果没有则保存在设备的存储空间中 这里主要包含了两个要点 一是 Android文件保存时文件夹的创建 二
  • detectron2概述

    目录 detectron2框架 configs datasets README md prepare for tests sh prepare panoptic fpn py demo demo py predictor py detect
  • 关于Docker如何安装nginx

    目录 1 Nginx 1 2 安装nginx 2 容器之间相互通信 2 1 两个容器在同一网段 2 2 两个容器在不同网段 1 Nginx Nginx也是一款服务器 我们常用它做如 反向代理 负载均衡 动态与静态资源的分离的工作 反向代理
  • C语言-数据结构-栈(静态栈与动态栈)

    一 简介 在哔哩哔哩看视频学的 赫斌老师数据结构入门的内容 b站搜索 av6159200 P33 通过学习 能独立把赫斌老师教的敲出来 由于动态栈 链表阉割版 的功能很少 我并没有增加什么其它功能 但是我自己实现了静态栈 数组阉割版 还有就
  • 卸载联软UniAccess,删除UniAccess Agent记录

    UniAccess 卸载 公司假以安全上网为由 让公司员工安装所谓的 XX上网助手 实则是内嵌了联软的UniAccess监控系统 有关这个软件的用途就不用多介绍了 能找到这里的 我想已经对这个 流氓 软件有了基本的认识 话不多说 赶紧想办法
  • Kafka使用工具封装

    maven依赖
  • c# redis hashid如何设置过期时间_Redis系列(三):Redis持久化机制(RDB & AOF)

    在前两篇关于Redis的文章中 已经详细的介绍了Redis常用的数据结构相关内容 如果还没看的小伙伴可以先过一遍 Redis基本数据类型 Redis跳跃表详解 本篇文章主要介绍 Redis数据持久化机制 RDB AOF 在此之前需要先了解一
  • Spring Security 学习(一)认证与授权源码分析——一次痛苦的爬坑经历

    一点感悟 一个疏忽 花了 5h 解决了 哎 用一首歌来表达一下现在的心情 点击 不过也算摸清了Spring Security 一点基本原理 没有白费的时间 学习新知识的时候 遇到解决不了的问题一定不能心急 越是这个时候越要静下心来一步一步的
  • PLSQL连接Oracle 数据库配置详解

    1 下载instantclient basic win32 11 2 0 1 0 Oracle Instant Client Free tools and libraries for connecting to Oracle Databas
  • Unity中实时获取网格上点的位置,还有对应的面和法线

    在Unity中 可以使用Mesh类来获取一个网格上点的位置以及对应的面和法线 以下是具体步骤 步骤一 获取网格对象 在脚本中 需要先获取要操作的网格对象 可以使用以下代码 Mesh mesh GetComponent
  • java 静态块的作用域_Java语言的作用域及分类

    在java编程中 将变量声明在不同的位置就具有不同的作用域 而作用域的大小则使用 来确定 使用 可以确定定义的变量的可见性及生命周期 目前在java编程中 变量类型主要有三种 分别如下 一 成员变量 类的成员变量的作用范围同类的实例化对象的