java静态属性_java中静态属性与动态属性的区别

2023-11-08

aac41ed40a4a04d26ff62cd61cd68b0c.png

为什么static不用创建对象就可以被调用?

在未创建对象之前,所有静态属性或方法都放在元数据区里,静态的可通过类名调用。

例如:public class Cat{

public static String name;//静态的,不创建对象都存在

public String color; //动态的,不创建猫的对象不存在这个属性

}public class Main{

public static void main(String[] args){

Cat c =new Cat();

c.color = "黑色";

c.name = "喵喵";

Cat c1 = new Cat();

c1.color = "蓝";

System.out.println(c1.name); //正确 这是因为name是静态属性

}

}

在线教学视频分享:java教学视频

静态属性的特征: 所有在该类下的对象共享这一个属性,不创建对象这个属性依然存在,所以在修改这个属性时通过类修改就行了(Cat.name = “小喵”)

动态的属性只存在于创建的对象里,只有创建了对象这个属性才存在。

静态属性和动态属性的区别:

通过栈可以找到对象,那么它能否调用元数据区里的内容?——可以

那么能否通过类调用堆里的内容?——不行,因为这个过程存在一个确定性和不确定性的问题。

通过类调用元数据区的内容,因为对象是动态的,调用静态的东西,调用时可保证静态的东西一 定存在,静态的东西先于对象的存在而存在;从静态的调用堆里动态的,这时就不确定动态的这个东西是否一定存在。

所以动态的可以调用静态的,静态的不能调用动态的。public class Cat{

public static String name;//静态的,不创建对象都存在

public String color; //动态的,不创建猫的对象不存在这个属性

public Cat(){

}

public void foo(){

color = "黑";//正确

name = "喵喵";//正确,一定可以调用静态的

}

public static void test(){

color = "黑"; //错误,静态方法无法调用动态的属性

name = "小喵";//正确

foo();//动态的不一定存在

Cat c = new Cat();

c.foo(); //这时再能调用

}

}

更多相关文章教程请访问:java入门学习

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

java静态属性_java中静态属性与动态属性的区别 的相关文章

  • SQL留存率问题

    什么是留存率 留存率 retention rate 通常用来衡量用户或客户的忠诚度和粘性 留存率指的是在特定时间段内 有多少人保持了对某个产品 服务 平台或应用程序的使用并继续付费或进行其他有价值的操作 通常情况下 留存率会作为一个百分比表
  • redis 连接数据库_如何连接到Redis数据库

    redis 连接数据库 介绍 Introduction Redis is an open source in memory key value data store Whether you ve installed Redis locall
  • Adblock Plus 下载

    作用 下载人数 全球超过5000万人都在使用adblock plus 这个chrome插件完全免费 能够屏蔽整个互联网广告的插件你见过吗 那就是Adblock Plus Adblock Plus牛在哪里 在谷歌开发者商店里面有4000万以上
  • 【SLAM】卡尔曼滤波(Kalman Filter)

    卡尔曼滤波 Kalman filter 一种利用线性系统状态方程 通过系统输入输出观测数据 对系统状态进行最优估计的算法 由于观测数据中包括系统中的噪声和干扰的影响 所以最优估计也可看作是滤波过程 卡尔曼滤波器的原理解释如下 首先 我们先要
  • 团队管理中的代码评审

    代码评审在软件项目管理中是经常组织的活动 通过代码评审的工作也确实给我们的团队带来很多的益处 简单谈谈代码评审的感受 你们的团队是否也在进行代码评审 Code Review 的相关工作呢 1 为什么要组织代码评审 组织代码评审其主要目的是保
  • uni-app跨端开发微信小程序之nodejs与后端通信并动态打包项目以适应多环境开发

    摘要 这篇文章主要的目的是分享一个可与后端接口通信的自动化脚本插件 实现不同环境下可打包成不同配置的微信小程序源码 全程靠命令行自动发起请求 修改配置文件 自动编译 解放双手不是梦 看官在阅读文章前可以思考这样一个场景 有一份代码需要支持本
  • Java与设计模式(3):抽象工厂模式

    一 定义 抽象工厂模式是一种创建型设计模式 它提供了一种将相关对象组合在一起创建的方式 而无需指定它们的具体类 在抽象工厂模式中 有一个抽象工厂接口 该接口定义了一组创建相关对象的方法 每个具体的工厂类都实现了这个接口 并负责创建一组相关的
  • Xshell 使用密钥连接服务器,每次都提示:SSH服务器拒绝了密码。请再试一次

    查了很多 原来问题出在这里 1 在用户身份验证 连接方法设置为public key 2 浏览 导入你服务端下载的密钥 确定 输入密钥密码 问题解决
  • 手写js物理引擎

    先来看效果 包括混沌小球碰撞 上抛 自由落体 滚动 想要手写游戏 这些都是最基础的内容 也是一些游戏库的底层原理 开始之前 先回忆一些物理和数学知识 1 自由落体 重力相关 2 非弹性碰撞 角度 速度 3 向量 标量 4 动量守恒 动能守恒
  • 你了解API测试吗?如何充分的测试一个API?

    什么是API API代表应用程序接口 API是软件系统中的中间层 负责数据源与用户看到的图形用户界面 GUI 之间的数据通信 换句话说 API是软件的业务层 它在表示层和数据层之间创建连接 API测试侧重于所谓的应用程序业务层 这意味着与标
  • 生成式对抗网络(GAN, Generaitive Adversarial Networks)总结

    最近要做有关图像生成的工作 也是小白 今天简单学习一些有关GAN的基础知识 很浅 入个门 大神勿喷 GAN目前确实是在深度学习领域最热门 最有前景的方向之一 近几年有关于GAN的论文非常非常之多 从2016年起关于GAN的论文是爆炸性的增长
  • android图片传输三方框架,Android ImageLoader第三方框架解析

    本文实例为大家分享了Android ImageLoader框架的使用方法 供大家参考 具体内容如下 1 准备工作 1 导入universal image loader 1 9 5 jar到项目中 2 创建MyApplication继承App
  • Swin-transformer 和其升级Cswin-transformer

    Swin Transformer Hierarchical Vision Transformer using Shifted Windows 论文解读 论文信息 概要 Swin transformer是微软今年三月25日公布的一篇利用tra
  • Verilog单周期CPU设计(超详细)

    下篇 Verilog流水线CPU设计 超详细 本篇完整工程下载链接 实验 单周期CPU 一 设计目的与目标 实验内容 实验要求 二 课程设计器材 硬件平台 软件平台 三 CPU逻辑设计总体方案 指令模块 MIPS指令格式 指令处理流程 数据
  • (优雅的使用)matlab脚本编程习题4

    优雅的使用 matlab脚本编程习题4 第四章数据可视化 虽然这种题 代码不会差的太多 但是我还是建议各位借鉴的时候 先理解我的代码 再自己重写一遍 写的时候尽量不要对着我的看 每个人的代码风格区别还是挺大的hhhh 上课的时候有看到同学用
  • matlab求数组上三角的和,第三周作业:判断上三角矩阵和求数组和

    第一个题 7 1 判断上三角矩阵 15 分 上三角矩阵指主对角线以下的元素都为0的矩阵 主对角线为从矩阵的左上角至右下角的连线 本题要求编写程序 判断一个给定的方阵是否上三角矩阵 输入格式 输入第一行给出一个正整数T 为待测矩阵的个数 接下
  • 计蒜客 T1044 最大数输出

    题目链接 https nanti jisuanke com t T1044 算法特工队QQ群 979618872 伸手党绕边 欢迎有良好基础的人加入 Created by Leo Lee on 2019 4 5 include
  • 年轻人正在双11掀起国潮热

    NEW 关注Tech逆向思维视频号 最新视频 男生的秋裤 女生的打底裤 哪个更抗冻 出品 盒饭财经 文 彻诺 当传统工艺走入现代商业 当传统文化遇上当代场景 郭艾薇的朋友圈已成了大型考古现场 你看 这是我朋友挖土时给自己拍的视频 这是另一个
  • iOS编译中pod报错CocoaPods could not find compatible versions for pod "XXXXX":

    pod install no repo update Analyzing dependencies CocoaPods could not find compatible versions for pod XXXXX In snapshot

随机推荐