首页 > 其他分享 >static关键字

static关键字

时间:2022-11-15 00:22:18浏览次数:72  
标签:变量 静态 关键字 对象 static 加载 属性

static关键字

static:静态的
static可以用来修饰:属性、方法、代码块、内部类

使用static修饰属性:静态变量(或类变量)

  1. 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)

实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。

静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。

  1. static修饰属性的其他说明:
  • 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用
  • 静态变量的加载要早于对象的创建。
  • 由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。

使用static修饰方法:静态方法

  1. 随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
  2. 静态方法中,只能调用静态的方法或属性;非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性。

static注意点:

静态的方法内,不能使用this关键字、super关键字在

开发中,如何确定一个属性是否要声明为static的?

属性是可以被多个对象所共享的,不会随着对象的不同而不同的。
类中的常量也常常声明为static

开发中,如何确定一个方法是否要声明为static的?

操作静态属性的方法,通常设置为static的;
工具类中的方法,习惯上声明为static的。 比如:Math、Arrays、Collections

本文由mdnice多平台发布

标签:变量,静态,关键字,对象,static,加载,属性
From: https://www.cnblogs.com/CGB1804Great/p/16891062.html

相关文章

  • 多态性、instanceof关键字
    目录多态性向下转型instanceof关键字多态性理解多态性:可以理解为一个事物的多种形态。何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)多......
  • 重写、super关键字
    目录重写super关键字重写重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作。重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,......
  • C++初阶(命名空间+缺省参数+const总结+引用总结+内联函数+auto关键字)
    命名空间概述在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的......
  • 小程序报错:[渲染层网络层错误] Failed to load local image resource /static/logo.pn
    问题来源我在刚开发微信小程序时发现了一个问题,当我用hbuilderx运行小程序到微信开发者工具中时,出现了报错。报错后并且也出不来图片,当时也去百度了许多用法,发现大多数......
  • C++ explicit关键字详解
    C++编码时,可以通过构造函数将相应的数据类型转换成为C++类的对象,从某种程度来说给编码带来了方便,但并不是每次都正确,为了避免这种情况,C++提供了explicit关键字,相对于implic......
  • java——继承与多态——final关键字001
    final关键字概念与四种用法:          final关键字用于修饰类:             final关键字用于修饰成员方法:   ......
  • super 关键字
    super“可以看做”是直接父类对象的引用。可通过super来访问父类中被子类覆盖的方法或属性。使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。......
  • 访问权限修饰符、this关键字
    目录访问权限修饰符this关键字访问权限修饰符构造器构造器的作用:创建对象初始化对象的信息如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器......
  • Java中的super和this关键字详解
    父类空间优先于子类对象产生在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身。目的在于子类对象中包含了其对应的父类空间,便可以包含其父类的成员,如果父类成员......
  • Specific static library / shared library / header path on OSX
    StaticlibrarypathexportLIBRARY_PATH="/usr/local/lib"SharedlibraryordynamiclibrarypathexportDYLD_LIBRARY_PATH="/usr/local/lib"Headerfilepathex......