java学习——31.静态成员

在类中有两种成员:实例成员和静态成员。

实例成员是通过对象调用,静态成员可以直接通过类名调用。

静态成员是有关键字static声明的方法,有静态成员变量和静态成员方法两种。

1、静态成员变量

声明的语法格式如下:

[修饰符] static 数据类型变量名;

其初始化有两种方式:

(1)在声明时赋初值,如:

public static int count=0;

(2)用static声明静态初始块,如:

public static int count ;

static{

count=0;

}

调用方式有两种:

(1)通过类名调用

类名.变量名

(2)通过对象调用

对象名.变量名

2、静态成员方法

语法格式如下:

[修饰符] static 返回值类型方法名([参数列表])[throws异常类列表]

       方法体语句;

       [return [返回值];]

此声明与实例方法的声明相同,只多了一个关键字static。

静态方法的调用有两种方式:

(1)通过类名调用

类名.方法名([参数列表])

(2)通过对象调用

对象.方法名([参数列表])

3、注意

静态方法体中不能访问实例成员,也不能使用this引用。

在类内部可直接访问静态方法,省略类名。

4、例:

public class Circle {

private double radius;

public static int count=0;//声明静态变量

public Circle(){

radius=0;

count++;

}

public Circle(doubleradius){

this.radius=radius;

count++;

}

public Circle(Circle c){

this.radius=c.radius;

count++;

}

public static void getCount(){//静态方法,访问静态变量

System.out.println("已有"+count+"个圆");

}

public static void main(String args[]){

getCount();//在类内部,可直接调用静态方法

count++;//在类内部,可直接调用静态成员变量

System.out.println(count);

Circle.count++;//可用类名调用静态成员变量 

getCount();

Circle c=new Circle();

Circle.getCount();//可用类名调用静态方法 

Circle c1=new Circle(1);

c1.getCount();//可用对象调用静态方法

Circle c3=new Circle(c1);

getCount();

}

}

其运行结果如下;

(0)

相关推荐