Java中的静态变量和静态函数
2015-03-11 15:50
344 查看
Java中的静态变量和静态函数(方法)和C++中也类似。有几点需要重新复习一下:
1)如果想让一个类的所有对象共享数据,可以使用静态变量;如果想共享函数,可以使用静态函数。
2)如果某个对象修改了静态变量的值,那么该类的所有对象都会受到影响。
3)静态变量和静态函数在类创建对象之前就可以调用,这点和普通的变量函数很不一样。
4)常量可以声明为final static,所有对象都共享。
5)访问一个类的静态变量和静态函数,一般都使用“类名.静态变量”或者"类名.静态函数"的方式,不适用对象名调用,因为这样可以直接看出是调用的静态变量和函数。
一个简单的基础代码帮助理解Java中的静态变量和静态函数的使用。
结果:
1)如果想让一个类的所有对象共享数据,可以使用静态变量;如果想共享函数,可以使用静态函数。
2)如果某个对象修改了静态变量的值,那么该类的所有对象都会受到影响。
3)静态变量和静态函数在类创建对象之前就可以调用,这点和普通的变量函数很不一样。
4)常量可以声明为final static,所有对象都共享。
5)访问一个类的静态变量和静态函数,一般都使用“类名.静态变量”或者"类名.静态函数"的方式,不适用对象名调用,因为这样可以直接看出是调用的静态变量和函数。
一个简单的基础代码帮助理解Java中的静态变量和静态函数的使用。
/*** * * @author Administrator * */ class Circle2 { /** * CLASS CIRCLE2 * * Data: radius, numberOfObjects * * Functions: getNumberOfObjects2 */ double radius; static int numberOfObjects; Circle2() { radius = 1.0 ; numberOfObjects++; } Circle2(double newRadius) { radius = newRadius; numberOfObjects++; } static int getNumberOfObjects2() { numberOfObjects++; return numberOfObjects; } } public class TestingStaticVariable { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("The numebr of Objects is " + Circle2.numberOfObjects + " and " + Circle2.getNumberOfObjects2()); Circle c1 = new Circle(); System.out.println("The numebr of Objects is " + Circle2.numberOfObjects + " and " + Circle2.getNumberOfObjects2()); Circle c2= new Circle(10.0); System.out.println("The numebr of Objects is " + Circle2.numberOfObjects + " and " + Circle2.getNumberOfObjects2()); } }
结果:
The numebr of Objects is 0 and 1 The numebr of Objects is 1 and 2 The numebr of Objects is 2 and 3
相关文章推荐
- Java中的静态变量和静态函数
- Java 入门 之 静态函数与静态变量
- Java中的静态变量和静态函数
- Java 静态变量,静态函数,静态代码块,构造代码块
- java中静态类,静态函数,静态变量
- Java中的静态变量和静态函数
- C++和JAVA中怎么使用静态变量
- java面向对象思想之方法的重载、this变量、静态变量、Java中的常量
- java中静态变量和静态方法分别有什么特点?
- 区别java的 C++内存分配 知识,全局,局部,静态变量
- 非静态函数,非静态变量与静态函数,静态变量
- java 静态方法和静态变量 static
- 区别java的 C++内存分配 知识,全局,局部,静态变量
- 堆栈,静态变量和普通变量,静态函数和普通函数的区别
- 非静态函数,非静态变量与静态函数,静态变量
- [转] Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)
- Java学习:静态方法,静态变量和静态代码块
- java 继承类 变量、静态变量、构造函数执行顺序
- 一个类的静态变量和静态函数能被它的子类继承吗?如果能,怎样初始化和使用他们?
- 静态变量和静态函数导致的问题