JAVA面向对象之静态属性和方法

在实际软件开发过程中,有的时候希望无论是否产生了对象,或是产生了多少对象,某些特定的数据在内存中只有一份,JAVA中通过static关键字来解决这个问题。

在类内使用关键字static修饰的成员变量和成员方法分别称为静态变量和静态方法,也称为类变量和类方法,而没有static修饰的变量和成员方法称为对象变量和对象方法。

一、静态变量

静态变量的特点是它不是属于某个对象,而是属于整个类的,它们在类被载入时就被创建,只要类存在,static变量就存在,因此静态变量不是保存在某个对象的存储单元中,而是保存在类的公共内存单元中,任何一个类的对象都可以访问、修改它、静态变量一旦被某个对象修改后,则保存修改后的值,直到下次被修改为止。因此,静态变量是共享的。静态变量定义规则如下:

static 类型 变量名;

静态变量可以通过“类名.成员名”的方式直接访问,也可以先创建对象,通过“对象名.成员名”的方式进行访问(不建议)。

二、静态方法

静态方法与静态变量类似,同样是属于类的,调用方式也与静态变量雷同,不再介绍。静态方法在使用时需要注意以下几点:

  1. 在创建对象时,由于非静态方法是属于对象的,所以在对象占用的内存中又该方法的代码。而静态方法是属于整个类的,因此在对象占有的内存中没有该方法。
  2. 在静态方法里只能直接调用类中的其它静态成员。
  3. 静态方法不能以任何形式引用this和super关键字。
时间: 2024-10-12 06:21:37

JAVA面向对象之静态属性和方法的相关文章

php面向对象中static静态属性与方法的内存位置分析

 这篇文章主要介绍了php面向对象中static静态属性与方法的内存位置,通过内存位置实例分析了static静态属性的原理与使用技巧,需要的朋友可以参考下     本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php header("content-type:tex

js面向对象之公有、私有、静态属性和方法详解_javascript技巧

现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解,习惯了函数式的编辑风格,对于闭包.原型总是说不清道不明.对于js面向对象蹩脚的用着,而要了解js面向对象,就必需先了解js中什么是公有方法.特权方法.静态方法 方法/步骤 1.公有属性和公有方法 function User(name,age){ this.name = name;//公有属性 this.age

php面向对象中static静态属性与方法的内存位置分析_php技巧

本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 <?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name = "小妹"; public $height; public function tell(){ } } ec

jQuery技术内幕:深入解析jQuery架构设计与实现原理. 2.8 静态属性和方法

2.8 静态属性和方法 在构造jQuery对象模块中还定义了一些重要的静态属性和方法,它们是其他模块实现的基础.其整体源码结构如代码清单2-3所示. 代码清单2-3 静态属性和方法 388 jQuery.extend({ 389     noConflict: function( deep ) {}, 402     isReady: false, 406     readyWait: 1, 409     holdReady: function( hold ) {}, 418     read

Java Thread中的属性和方法

手撸一次,加深印象,立此存照. ThreadB package demo.thread; public class ThreadB implements Runnable { public void run() { try { Thread.sleep(5000L); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("This is thread B."); Thread curT

php面向对象中static静态属性和静态方法的调用

 这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下     本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例

php面向对象中static静态属性和静态方法的调用_php技巧

本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例: <?php header("content-type:text/html;charset=utf-8"); c

php static静态属性和静态方法的调用

这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性). 实例:  代码如下 复制代码 <?php header("content-type:text/html;charset=utf-8"); class Human{  static public $name = &

JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法_javascript技巧

1.Object类 在JS中,Object是所有类的基类,使用Object类来创建自定义对象时,可以无需定义构造函数(constructor,prototype,hasOwnProperty(property)) var per = new Object(); per.name = 'zhangsan'; per.age = ; alert(per.name + per.age); 我们想在程序中得到一个对象变量,只要能存储大量数据即可,这个时候,我们可以考虑使用Object类.Object类避