`
dsea
  • 浏览: 43878 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java 静态类成员

阅读更多
        如何决定哪些方法或是变量该声明为静态的,往往是设计类时应该考虑的一个重要步骤.下面简单讨论一下静态变量和方法.

静态变量
        主要由两类变量,在方法内声明的局部变量和在类中声明但不位于方法内的实例变量(也可称为全局变量).这里使用术语实例变量,是因为每个类都有自己的变量值,对不同的对象分配不同的内存空间,每个对象中这个变量的值都可以不同.
        静态变量,也称为类变量,它由类的所有实例共享,即不同的对象共享一个数据域.在一个对象中修改了静态变量的值,就等于修改了其他所有对象中该静态变量的值.用static修饰符来声明一个静态变量.如:
   
private static int i = 0;

        静态变量的内存空间是在程序中第一次使用该变量所在的类时分配的.方法内的局部变量不能声明为静态的,因为程序无法知道什么时候会调用该方法.
        在使用final修饰符声明常量时,通常会使用static进行再次声明.因为常量的值是不可变的,索性就让它们当做类的所有对象所共享的唯一值.

静态方法
        静态方法可以通过类名来调用而不用先实例化一个对象.Math内的所有方法都是静态的,可以通过Math.方法名()直接调用.Math类的方法都是根据传递过来的参数完成基本运算,这种情况下,不需要维护一个对象状态,所以没有理由为了完成这些运算去创建一个对象的实例.
        因为静态方法和具体的对象无关,所以它们不能引用只在类的实例中才存在的实例变量,如果静态方法试图调用一个非静态变量的话,就会出现编译错误.但是静态方法可以调用静态变量,因为静态变量是独立于具体的对象而存在的.
分享到:
评论
1 楼 zhlx2835 2015-02-06  
所以一般的工具类都要把构造方法设计成私有的,把里面的属性和方法都设计成静态的。直接通过类名来调用方法!

相关推荐

    Java中的静态变量静态方法静态块与静态类.docx

    Java中的静态变量静态方法静态块与静态类.docx

    JAVA静态成员和实例成员的加载时机

    JAVA静态成员和实例成员的加载时机,先有对象还是先load类的静态成员,先有实例还是先调用构造方法等

    java 利用反射获取内部类静态成员变量的值操作.docx

    java 利用反射获取内部类静态成员变量的值操作.docx

    Java的内部类讲解案例代码(成员内部类、局部内部类、匿名内部类、静态内部类、外部类访问四种内部类、其他类访问四种内部类...)

    - 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...

    Java静态方法[Static]

    title: Java静态方法[Static] date: 2020-03-24 17:45:16 author: JF blog:https://www.huqifa.com/ tags: – Java categories: – Java Java静态方法[Static] static关键字 作用:是一个修饰符,用于修饰成员...

    Java开发技术大全(500个源代码).

    showMain.java 演示main方法访问本类成员 showMethod.java 演示如何定义一个方法体 showReturn_1.java return语句示例1 showReturn_2.java return语句示例2 showStaicVar.java 演示静态变量的使用 staticBlock...

    java 基础 类对象创建实例化过程 实例解析

    * (如果是重写即子类将父类的实例方法重写类,则调用子类的,如果是隐藏即方法则父类中声明为静态方法,则调用父类本身的但具体方法中的成员是否被子类修改需要进行分析) —> * 下一层次的父类中重复前一个过程

    Java 内部类

    Java 的使用 分别介绍了 成员内部类、方法内部类、静态内部类

    Java面向对象程序设计:类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法详解

    主要介绍了Java面向对象类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法,较为详细的分析了Java类的定义,静态变量,成员变量,构造函数,封装,私有等相关原理、用法及操作注意事项,需要的朋友...

    JAVA复习资料

    9、Java中类成员的限定词有以下几种:private, _protected__, public__, 默认友好。 10、基类的公有成员在派生类中的访问权限由_基类___决定。 11、用static修饰的方法,称为静态方法。它们不是对象的方法,...

    beiyou Java作业 -1

    _09211195_王晓_1_StudentList.java //定义StudentList类 为便于作业批改和查找,上传作业的时候,传.java文件,不要上传压缩包,一次作业可以有多个.java文件 为便于作业批改,要求源文件中的类名也需要和java...

    JAVA内嵌类代码.rar

    内嵌套类包括了静态类和成员类,还有方法中的类和匿名类的基本规则。

    java面试题静态加载顺序构造方法

    Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。...3、类初始化时,先初始化类的属性成员,在执行构造方法。

    实验二 数组与类的声明

    程序功能:设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。 3、创建类的对象,使用对象的...

    精心整理的java常用的26个工具类-独家收藏

    用static修饰的都是属于类成员,类成员可以直接调用的,不是用static修饰的,必须使用类的对象去调用 精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 ...

    Test.java关于静态的分析

    package a; public class Test { static int i=0; //静态成员变量 int j=0; //成员变量 ... //类中不需要记录状态的时候,都可以是静态方法 public static void print(){ } }

    Java中抽象类和接口的区别

    在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的...

    编程语言-Java语言-关于内部类的分类和认识

    Java语言中的内部类根据定义的位置和访问权限可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类是定义在类的内部且与类的实例相关联的类;局部内部类是定义在方法或作用域内的类;匿名内部...

    JAVA常用类与内部类

    1、成员内部类:定义在类中的类,属于类的成员,创建成员内部类对象必须依赖外部类对象。 2、静态内部类:定义在类中的类,class 关键字前加入 static 修饰符,创建静态内部类对象不需要外部类对象。 3、局部内部...

    Java抽象类高难度面试题及解析

    您将了解抽象类与接口的区别、抽象类的实例化、构造函数和成员方法的使用、抽象类与其他类和抽象类的继承关系、抽象类的修饰符和限制规则等。此外,我们还讨论了抽象类与接口的结合应用、抽象类的静态方法和内部类、...

Global site tag (gtag.js) - Google Analytics