首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

static修饰的成员变量及函数

static成员变量又称为静态成员变量,在多个对象间共享使用,并且static静态变量在初始化时必须在类外初始化,可以直接通过“类名::变量”访问,哪怕是还没有生成对象时一样可以访问,以此看来static...成员变量不隶属于某个对象,而隶属于类,只是所有该类的对象都可以使用而已。...另外,静态的成员函数不在于多个对象之间的信息共享,而是在于管理类内的static数据成员,完成对static数据成员的封装。...void set_height() { // 静态函数操作静态成员,静态函数没有this指针 height = 20; } int show_box() { return length * width...* height; } private: int length; int width; static int height; }; // 在类外初始化 int CStatic::height =

12130

C++中的static成员函数以及static成员变量详解「建议收藏」

static成员变量,在编程中我们时常都会遇到,那么你是否对static变量以及static成员函数有一定深入的认识呢?...static定义的成员变量,存储的区域是内存四区(栈区、堆区、全局区、代码区)中的全局区,在程序运行之前就已经生成在全局区中,直到程序运行结束才会被系统释放。...在C++中有时会定义一些static变量,同时也会定义一些static成员函数。...对于static成员函数以及属性的调用需要注意的点有以下几个: 1.static成员函数的调用的成员变量(属性)只能够是static成员属性,不能够调用普通成员变量属性(因为编译器无法确定调用的是哪个对象的成员属性...); 2.static成员变量(属性)并不占用类的内存空间,static成员变量并不存储在类中,存储在全局区; 3.static成员变量(属性)时所有对象共同拥有的一份变量,并不属于任何一个对象成员

79830
您找到你想要的搜索结果了吗?
是的
没有找到

Java基础-07(01).总结private,this,封装,static成员方法变量,局部变量匿名对象

1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3...如果在类中方法外找到,使用成员变量 如果在类中没有找到,报错 /* 成员变量和局部变量的区别?...A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象的创建而存在...我就应该要求你必须使用我的方法,而不能直接调用成员变量赋值。 怎么去强制要求不能直接使用成员变量呢? 针对这种情况,Java就提供了一个关键字 private private:私有的。...java就提供了一个关键字 this //Student.name = name; this.name = name; } //年龄获取值 public int getAge() { return

1K40

Java基础-07(02).总结private,this,封装,static成员方法变量,局部变量匿名对象

String[] args:可以接收数据,提供程序的灵活性 格式:java MainDemo hello world java java MainDemo 10 20 30 /* static...静态修饰的内容一般我们称其为:与类相关的,类成员 */ class Student { //非静态变量 int num = 10; //静态变量 static int num2 = 20; }...B:静态方法只能访问静态的成员变量和静态的成员方法 静态方法: 成员变量:只能访问静态变量 成员方法:只能访问静态成员方法 非静态方法: 成员变量:可以是静态的,也可以是非静态的 成员方法:...格式是: java MainDemo hello world java */ class MainDemo { public static void main(String[] args) { /...针对多个对象有共同的这样的成员变量值的时候, Java就提高了一个关键字来修饰:static

82030

java static再赋值_java static变量可以赋值吗?

详细内容 java static变量可以赋值吗? 可以赋值的。static的主要作用是静态成员,指该变量的实例在内存中之存放一次。赋值是可以随便改的。...javastatic关键字 staticjava中非常重要的一个关键字,主要有两种作用: ● 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。...● 第二:实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,static主要有5中使用情况:成员变量成员方法、代码块,内部类和静态导包。...基本用法: 1、static修饰成员变量:该成员变量属于类变量,可以通过 ClassName.attributeName 直接引用,而不需要new出类的实例。...2、static修饰成员方法:该方法属于类的方法,可以通过 ClassName.methodName 直接引用,而不需要new出类的实例。

2.3K10

java成员变量和局部变量

(回复【前端资料】获取下载链接) ●答案公布时间:为每期发布题目的第二天 ★【新】回复“测试题”获取昨天发布的软件工程师初级阶段测试题答案 ★【新】回复“学习资料”获取java学习电子文档 ★【新】需要求职简历模板的可以加小编微信...不存在任何培训机构招生信息 java成员变量和局部变量 局部变量在方法体内里面的变量; 局部变量使用前必须初始化值; 局部变量没有默认初始化值; 局部变量的作用域是从定义开始到定义它的代码块结束; 成员变量...:在方法体外,类体内声明的变量,又称字段(Field)或全局变量成员变量的作用域是整个类中; 我的总结:注意成员变量和局部变量的区别 ?...备注:局部变量调用前没有初始化,所以编译的时候就会报错!

1.3K120

Java - 局部变量成员变量

概念 成员变量 成员变量就是属于类的变量,在类中,方法体外定义的变量 成员变量又分为两种: **类变量(静态变量):**是被static所修饰的成员变量,是属于类的部分,属于类的范畴。...**实例变量(非静态变量):**是没有被static修饰的成员变量,是属于类的部分,但是属于对象的范畴。 局部变量: 局部变量就是定义在方法体,代码块内的变量,是局部的变量,属于方法的范畴。...区别 1、定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类中 public class Demo { //在方法的外部,直接写在类中 //成员变量 String...void testA(){ //局部变量 int num = 666; //输出的name为成员变量 //成员变量,整个类都可以用...局部变量:位于栈内存 成员变量:位于堆内存 5、生命周期不一样 局部变量:随着方法进栈而诞生,随着方法出栈而消失 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失 版权属于:kenvie 本文链接

1.2K10

从零开始学C++之对象的使用(一):static 成员变量static 成员函数、类对象的大小

一、static 成员变量 对于特定类型的全体对象而言,有时候可能需要访问一个全局的变量。比如说统计某种类型对象已创建的数量。...如果我们用全局变量会破坏数据的封装,一般的用户代码都可以修改这个全局变量,这时可以用类的静态成员来解决这个问题。...}; int Test::b = 0; //static成员变量不能在构造函数初始化列表中初始化,因为它不属于某个对象。...const int Test::c = 0; //注意:给静态成员变量赋值时,不需要加static修饰符,但要加const (3)、static成员优点: static成员的名字是在类的作用域中...,可以通过类名:: 访问static 成员变量,也可以通过非/静态成员函数访问。

1.2K00

Java继承类中static成员函数的重写

java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行。...让我们测试一下: 1 class testClass1{ 2 static void SMothod(){ 3 System.out.println("static in...testClass1"); 4 } 5 } 6 class testClass2 extends testClass1{ 7 static void SMothod(){ 8...(); //输出结果为 static in testClass2 17 } 18 } 从结果中可以看到,当我们用父类的实例引用(实际上该实例是一个子类)调用static函数时,调用的是父类的static...如果是,则直接从调用该方法引用变量所属类中找到该方法并执行,而不再确定它是否被重写(覆盖)。如果不是,才会去进行其它操作(例如动态方法查询),具体请参考:方法的加载

1.6K40

【C++】静态成员变量 ( 静态成员变量概念 | 静态成员变量声明 | 静态成员变量初始化 | 静态成员变量访问 | 静态成员变量生命周期 )

; 静态成员变量 提供了 同类对象的共享机制 : 同一个类的 所有实例对象 , 都可以共享访问 想通的 静态成员变量实例 ; 2、静态成员变量声明 静态成员变量 声明 方式 : 使用 static 关键字...修饰 类的 成员变量 , 那么 该成员变量 就被声明为 " 静态成员变量 " ; 将 类的成员 声明为 static , 那么该类 不论 创建了多少个 实例对象 , 这些对象都会共享 该 static...static int number; }; 3、静态成员变量初始化 静态成员变量 初始化 : 静态成员变量 是在 类使用时 , 在类的外部 进行 初始化 ; Student 类的 静态成员 成员变量...static int number; 声明 静态成员变量 并进行初始化的代码为 int Student::number = 1; // 在类外部声明并初始化静态成员变量 int Student:...static int number; }; // 在类外部初始化静态成员变量 int Student::number = 1; int main() { // 使用 域操作符 访问 类静态成员变量

28320

C++ static静态成员

基本概念 静态成员:在定义前面加了 static 关键词的成员。 以下面的代码例子,来学习 static 关键词: ?...输出结果: 2 4 01 静态成员变量 普通成员变量每个对象有各自的一份,而静态成员变量一共就一份,为所有对象共享。...这里需要注意的是 sizeof 运算符不会计算静态成员变量的大小,如下栗子: class CTest { int n; static int s; }; 则 sizeof(CTest)...静态成员变量本质上是全局变量,哪怕一个对象都不存在,类的静态成员变量也存在; 2. 静态成员函数本质上是全局函数; 3....设置静态成员这种机制的目的是将和某些紧密相关的全局变量和函数写在类里面,看上去像是一个整体,易于维护和理解; 4. 在静态成员函数中,不能访问非静态成员变量,也不能调用非静态成员函数; 5.

56060

细谈Java中使用static变量,方法

问题引入 我们知道,一个类可以创建多个对象,每个对象中都有自己的成员,相互独立,但是假想有这样一种情况,我们希望所有的变量成员都共享一个成员 "static"关键字 Java中 “static” 修饰的成员或类成员...,它属于整个类,会被类的所有对象所共享 如何调用由"static"修饰的成员 有两种访问方法: 通过类名直接访问 通过类名创建的对象进行访问 static 修饰的变量为静态变量,在声明之初,系统就为它分配了内存...,直到使用结束 这么说大家可能会有点蒙,我拿个具体的实例来讲 public class Demo { static String name= "gorit";//1、声明静态变量 public...(hello.name); } } 但是最好还是通过Demo.name 来访问静态变量,其它的方法当然也可以,但是为了避免出现未知的问题,还是小心为好 static还可以修饰方法?...static修饰的变量是静态变量static修饰的方法是静态方法,静态方法又称之为类方法 我们一直写得main 函数就是一个静态方法,所以创建一个静态方法得时候,我们还是得通过类来调用这个静态方法。

46010

Javastatic和非static的区别(方法和变量)

Java当中static和非static变量的区别 static 修饰的变量称为类变量或全局变量成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。...非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的。...static修饰的变量在加载的时候先于main方法加载在内存中的数据共享区-------方法区,而非static变量在加载的时候,是要创建变量才加载在堆内存中的。...一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。static变量值在方法区加载一次,而非static在创建对象时会加载很多次。...对象在引用成员变量是直接通过类名.变量名调用,对象在引用实例变量时只能通过对象名.变量名调用。 在类中调用成员变量时直接调用或者以类名.变量名方式调用,实例变量则用this或者直接调用。

60930

java基础学习-局部变量成员变量

/局部变量 int a = 100; String name = "lisi"; } public static void main(String[]...{ System.out.println(a); } } 上述代码报错: image.png 什么是成员变量: 定义在方法外,类内的变量叫做成员变量(全局变量),例如下方代码中的...static void main(String[] args) { } 局部变量成员变量的区别: 声明位置不同:成员变量在类中; 局部变量方法中 作用范围不同:成员变量当前类的方法...;局部变量当前方法 不同的方法中即使有同名的局部变量,没有关系,互不影响,建议相同 内存存放的位置:局部变量在栈内存中 成员变量在堆内存中 成员变量有默认值;局部变量没有默认值 局部变量不包含默认值,...如果没有使用当前变量可以不赋值;成员变量包含初始值

67092

python类成员变量和实例成员变量

#speed实例成员变量     def drive(self,distance):     print 'need %f hour(s)'% (distance/self.speed)   class...  c3.test = 'c3_test'   print c2.test   print c3.test   print Car.test   print   print '情形2: c2尚未对类成员变量...,c3中对test进行过修改, car不变  Car_original  c3_test  Car_original  情形2: c2尚未对类成员变量test进行过修改,类car中test成员改变  Car...Car test: Car_changed_again  c2 test: c2_test  c3 test: c3_test  分析;  test是类变量  speed, fuel是实例变量  一个类的类变量为所有该类型成员共同拥有...,该对象才拥有自己单独的类成员副本,此后再通过类本身改变类成员时,该实例对象的该类成员不会随之改变;实例变量是在实例对象初始化之后才有的,不能通过类本身调用,所以也不存在通过类本身改变其值,实例成员属于实例本身

1.4K00

兔哥说Java - 成员变量设计

代码,什么代码,自然是java代码。 java代码写在哪里,自然是.java的文件里。 我们用class关键字来声明一个类,类里面要写什么呢?答:要写成员变量成员方法。 写什么成员变量呢?...设计成员变量 先不谈语法,我们先来聊天。 写什么成员变量呢? 我推荐大家用一个口诀,就是问问自己,这个概念有没有什么数据是我感兴趣的呢?这个数据就是类的基本属性。...你设计成员变量,不是为了学习java知识,也不是为了应付学校老师的作业,更不是为了写这篇文章的我。 一切都是为了你自己,你觉得需要加这个字段,那你就加。不要盲目地加,你要说出你为什么要加。...总结-什么是成员变量 成员变量就是写在java类的{}里面的变量变量的声明方式为:数据类型[空格]变量名称。...变量就是可变的量,命名用英文就可以了,不要用数字或者特殊符号开头。其他就不说了,不然就成了照本宣科。 转载自:http://java18.cn/

34120
领券