首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【转】【Java】static在种定义中的作用

2013-08-20 
【转】【Java】static在类定义中的作用public class MathUtil{public static final double PI3.1415925}?? ?

【转】【Java】static在类定义中的作用
public class MathUtil{public static final double PI=3.1415925;}

?? ?这个PI被static修饰后,要想使用,必须通过“类名.静态成员变量名”这种方法使用。

?

2 共享操作

?

??????对方法修饰符的定义时,static表示修饰的方法是一个属于类所有的方法,可以通过“类名.方法名(...)”来引用。之所以规定如此的特性,是因为实际中某些对象所应具备的能力不因对象的改变而改变,而是按照一个所有该类对象均应遵循的规则来执行,如三角函数的计算、字符串的处理等。把这些能力定义到每个对象中没有必要,所以就出现了应把他们归属为类所有,有所有对象共享。

?

3 类初始化

?

?????? 构造函数通常是对象在被创建时执行某些初始化的工作,那么,类在初次加载到内存的时候,如果希望也能执行一些初始化的工作,应把类加载时执行的代码放在“初始化块”中。如下:

static{

....

}

?????? 她在类体当中存在的位置是独立的,可以放在任何合适的位置。这个初始化块与构造函数不同的是它没有函数名,也灭有访问控制修饰符,只有一个static来表明它的作用。而且,该初始化块只是在类加载时被执行一次,而且只被执行一次,其代码执行优先于对象创建。

public class Circle{static final double PI=3.1415926;double x;double y;double radius;static{   System.out.println("Running Circle's initialization block code");}public Circle(double x,double y,double radius){   this.x=x;   this.y=y;   this.radius=radius;}public static double getArea(double radius){   return PI*radius*radius;}public double getCircumference(){   return PI*radius*2;}public static void main(String[] args){   Circle c=new Circle(10,10,3.0);   System.out.println("The circle'ara is "+c.getArea(c.radius));   System.out.println("The circle'circumference is "+c.getCircumference());}}

???? 注意:用static修饰的语法成分属于类所有,对象可以直接使用,但不属于对象所有,因此用static修饰的语法成分中的代码不能使用任何属于该类对象所有的成员属性、成员方法。

?

Tag:此文转自百度空间“人各有命”

热点排行