static属于class类的,不是属于某个对象的

forbids in-class initialization of non-const static member不能在类内初始化非const static成员 今天在进行C++编程时,发现了一些小错误,里面的报错为: 编译器提示我不能在类内初始化非const static成员变量,经过查阅相关书籍和资料后得到的原因为: C++标准只允许static constant intergral或者枚举类型的数据在类内进行初始化。 引用:C++03 9.4.2 Static data members §4If a static data member is of const integral or const enumeration type, its de. 阅读详情

staic是属于class类的,不是属于某个此类所创建的某个对象引用的。所以当你在debug时会发现,在Variables栏中并不会找到当前引用对象中static所修饰的变量。

测试代码块

package yu.bai.array;

public class BerylliumSphere {
    private static long counter; 
    private final long id = counter++; 

    public String toString(){
        return "Sphere" + id;
    }

    public static long getCounter() {
        return counter;
    }

    public long getId() {
        return id;
    }


package yu.bai.array;

public class ContainerComparison {
    public static void main(String[] args) {
        BerylliumSphere[] spheres = new BerylliumSphere[10];

        for (int i = 0; i < 5; i++) {
            spheres[i] = new BerylliumSphere();
            System.out.println(spheres[i].getCounter() + "," + spheres[i].getId());
        }
    }
}

当执行spheres[0] = new BerylliumSphere()时,debug运行的Variables栏中只有类BerylliumSphere的id属性,并没有显示counter属性。
04【面向对象、封装、static】 一、面向对象 1.1 面向对象概述 1.1.1 什么是对象 在Java中,对象(Object)是指一个具体事物的实例,任何事物都可以使用对象(类)来描述,如猫、狗、计算机、杯子、云、水、空气、叶子、灰尘等看得见的、看不见的、宏观的、微观的、具体的、抽象的都是对象,总之"万物皆对象"; 1.1.2 面向对象程序设计 我们前面就提到过,Java是一门面向对象的编程语言,面向对象是一种程序设计思想,与之对应的还有面向过程程序设计;面向对象是把一个对象的特征(属性)和行为单独封装到对象 阅读详情

相关推荐

直流电源EMI滤波器设计实战:从器件选型到PCB布局的完整指南

本文提供了一份直流电源EMI滤波器的完整实战设计指南。针对EMI噪声超标问题,文章深入剖析了差模与共模噪声的抑制原理,详细讲解了从电路拓扑、核心器件(如X/Y电容、共模电感)的选型计算,到决定性能成败的PCB布局艺术。重点强调了低阻抗路径、干净接地及输入输出隔离等关键布局原则,并分享了常见的调试坑点与排查方法,旨在帮助硬件工程师设计出真正有效的滤波器,确保电源系统通过EMC测试。

q9r0s的博客 641

【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )

一、静态成员函数简介 1、静态成员函数概念 2、静态成员函数声明 3、静态成员函数访问 4、静态成员函数只能访问静态成员 二、代码示例 - 静态成员函数

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

从CCS3.3到CCS10:工程迁移与开发环境升级全攻略

本文详细介绍了从CCS3.3迁移到CCS10的完整流程与实战指南。针对老旧DSP项目,阐述了升级的必要性,并逐步指导CCS10的安装配置、界面操作、核心的工程移植步骤,以及移植后常见的代码调整与问题解决方案,帮助开发者高效完成开发环境升级,充分利用新版本的工具链提升开发效率。

weixin_29304985的博客 377

C++ static静态成员静态函数,语法+示例,超详细!!

C++ static静态成员静态函数,语法+示例,超详细!!

ken2232的博客 4万+

基于Dify构建银行智能客服:从意图识别到多RAG架构的实战解析

本文深入解析了如何利用Dify平台构建银行智能客服系统。从传统客服痛点出发,详细阐述了基于意图识别精准分类用户需求,并通过多RAG架构解决知识混淆问题,实现高效、准确的业务响应。文章重点介绍了结合工具调用实现业务流程自动化,并强调了数据本地化部署、内容安全过滤等银行级安全合规实践,为金融行业AI应用提供了实战指南。

yog99的博客 926

2026最新 OpenClaw 手机端部署与实战:旧手机秒变 AI 智能终端(Android/iOS 双平台全覆盖)

OpenClaw 是2026年 GitHub 爆火的开源自托管 AI 执行网关,前身是 Clawdbot / Moltbot,主打“一句话让 AI 帮你完成真实操作”,核心能力包括发消息、整理文件、控制设备、自动化任务等,区别于普通对话式 AI,它能将 AI 指令转化为实际行动。无需高配置设备,无需专业技术,旧手机就能变身随身 AI 助手,既能实现自动化办公、生活便捷,又能保障数据隐私,还能体验极客玩法,这正是开源技术的魅力。# 初始化配置(按提示操作,配置 AI 模型 API Key)

wohaiweifaju的博客 5644

静态数据成员和静态成员函数(static)

静态数据成员和普通数据成员一样遵从public,protected,private访问规则; 一.为什么要使用静态数据成员 1.每个对象都有自己都有的数据成员 2.不同对象如何共享数据? 全局变量:谁都可以访问,不安全 静态数据成员:可以实现数据共享,该类的所有对象都共享这块静态存储空间它不属于某一个对象,它与整个程序的生命周期相同,即使某个对象消亡了,静态数据成员还存在,没有改变 二.关于静态数据成员的初始化 在类内定义,类外声明 声明的格式 <...

m0_63783532的博客 1万+

VCSA 6.7证书过期别慌!手把手教你通过SSH修改系统时间恢复登录(附STS证书修复脚本)

本文详细介绍了VCSA 6.7证书过期的应急处理方案,包括通过SSH修改系统时间临时恢复登录、全面更新证书体系以及专项修复STS证书的实战步骤。文章还提供了后期验证和系统加固的建议,帮助运维人员有效应对证书过期问题,确保虚拟化平台的稳定运行。

weixin_31292729的博客 415

静态成员函数详解

在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。 编译器在编译一个普通成员函数时,会隐式地增加一个形参 this,并把当前对象的地址赋值给 this,所以普通成员函数只能在创建对象后通过对象来调用,因为它需要当前对象的地址(this指针就是当前对象的地址)。而静态成员函数可以通过类来直接调...

qq_41961154的博客 6701

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

weixin_42412049的博客 2584

Oracle EBS FA 创建成批增加执行时间长且报错

摘要 Oracle EBS系统在执行"创建成批增"请求时出现长时间运行并报错(ORA-00603和ORA-03114)。

陈显平的专栏-Oracle EBS 173

静态成员函数

静态成员函数

destiny 1241

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 641

第六章 面向对象编程基础

6.1 面向对象概述 在程序开发初期人们使用结构化开发语言,但随着软件的规模越来越庞大,结构化语言的弊端也逐渐暴露出来,开发周期被无休止地拖延,产品的质量也不尽如人意,结构化语言已经不再适合当前的软件开发。这时人们开始将另一一种开发思想引入程序中,即面向对象的开发思想。面向对象思想是人类最自然的种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪此相应的属性以及行为,以解决这些对象面临的一些实际问题, 这样就在程序开发中引入了面向对象设计的概念,面向对象设计实质上就是对现实世界的对象进行建模

hlwhorizon的博客 674

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Class(类)

前言 ES6引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 但是JS 中并没有一个真正的 class 原始类型, class 仅仅只是对原型对象运用语法糖。所以,只有理解如何使用原型对象实现类和类继承,才能真正地用好 class。 基本语法 class Person{ constructor(name,age){ this.name = name; this.age = age; } Say(){

JOKEthel的博客 5664

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java之Class类&面向对象

static 关键字不能修饰局部变量。

SOS_suyan的博客 2014

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JDK 1.8 下的 java.lang.Class 对象和 static 成员变量在堆还是方法区?

背景 从 JDK 1.7 开始,Oracle 团队就开始对 HotSpot VM 的永久代(PermGen)大刀阔斧的修改、移除,导致 HotSpot 的内存区域发生了很多改变,最终在 JDK 1.8 元空间(Metaspace)取代了永久代成为 HotSpot VM 对方法区的实现。 我们入门虚拟机的学习大多是通过《Java 虚拟机规范》、《深入理解Java虚拟机》这两本经典。但是由于 Java...

Xu_JL1997的博客 1万+

C++:类和对象全解

本文全面介绍了C++中类和对象的核心概念与使用方式。文章首先从类的定义入手,详细讲解了成员变量(属性)和成员函数(方法)的声明与封装特性,强调了访问修饰符private的作用。然后通过实例化对象的两种方式(普通构造函数和初始化列表),深入分析了对象创建过程的内存分配机制。 在类的补充部分,作者对比了class与struct的默认权限差异,解释了类域的概念及作用域操作符的使用方法,并通过代码示例演示了类大小的计算规则和空类的大小特性。关于this指针,文章剖析了其底层实现原理和在成员函数中的隐式调用机制。 最

2301_81454749的博客 2404

为什么 static synchronized 是类锁?从 JVM 角度彻底讲透!

synchronized锁机制分为对象锁和类锁:对象锁作用于实例方法时锁定当前对象实例(this),不同实例互不影响;类锁作用于静态方法时锁定类的Class对象(Demo.class),所有线程共享同一把锁。实验证明实例方法在不同对象间可并行执行,而静态方法会因类锁而串行执行。关键区别在于锁对象不同:实例方法锁this,静态方法锁Class对象。

Knight 871

【C++】类和对象——Lesson2

运算符重载

小羊的博客 2449

如何正确使用static、class、abstract方法

###方法在Python中是如何工作的...Python在告诉你,属性get_size是类Pizza的一个未绑定方法。这是什么意思呢?我们不能这么调用,因为它还没有绑定到Pizza42太棒了,现在用一个实例作为它的的第一个参数来调用,整个世界都清静了,如果我说这种调用方式还不是最方便的,你也会这么认为的;没错,现在每次调用这个方法的时候我们都不得不引用这个类,如果不知道哪个类是我们的对象,长期看来这种方式是行不通的。那么Python为我们做了什么呢,它绑定了所有来自类Pizza。

mohen_777的博客 1203

Java复习笔记---对象和类

1类的对象的定义及UML表示 类是对象的模板,对象是类的实例 UML介绍 UML:广泛应用的面向对象设计的的建模工具,但独立于任何具体程序设计语言。作为一种建模语言,UML有严格的语法和语义规范。对于复杂系统,先用UML建模,再编写代码。 UML工具会自动把模型编译成Java(C++)源码(方法体是空的) UML采用一组图形符号来描述软件模型,这些图形符号简单、直观和规范。所描述的软件模型,可以直观地理解和阅读,由于具有规范性,所以能够保证模型的准确、一致。 成员访问权限:公有public用+表示,保护p

wangtan优快云的博客 549

Java类和对象详解

Java 类和对象详解

2402_83672777的博客 1336

js中的class类

这是es6的新特性,用于实现面向对象的编程 1.class类的创建 创建一个class类 class myClass{ //构造器,默认为空的构造器 //当class在被new时就会调用构造器 //相当于function //function myClass(name,age){ // this.name=name // this.age=age //} constructor...

程序员徐小白的博客 1万+

【C++初阶】类和对象(三):初始化列表、友元与static成员详解

本文摘要主要介绍了C++中构造函数初始化列表、类型转换、static成员、友元和内部类五个关键知识点: 构造函数初始化列表:通过冒号语法初始化成员变量,对引用、const成员等必须使用初始化列表。初始化顺序按声明顺序而非列表顺序。 类型转换:支持内置类型隐式转换为类类型对象,通过explicit禁止隐式转换,类类型对象间也可转换。 static成员:静态成员变量需类外初始化,被所有对象共享;静态成员函数无this指针,只能访问静态成员。 友元:通过friend声明突破封装限制,使外部函数/类能访问私有成员,

Z2382430464的博客 2049

【c++】类和对象

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名::一般情况下,更期望采用第二种方式。深拷贝的类,一般都要自己写析构、拷贝构造、赋值。深拷贝的类,也需要实现移动构造和移动赋值。

qq_72952716的博客 1047
上一篇: Arrays.toString(Object[] obj)源代码解析
下一篇: java 数组转换成String方法
脾气很倔呢
博客等级 码龄9年 190粉丝 309原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值