java学习-静态变量&静态方法

注意点,类中若含有静态变量,则静态变量必须独立于方法之外,就像其他高级语言在声明全局变量时必须在函数之外声明一样

//定义Cylinder类
//本例程中,pi值声明为静态变量,另声明了一个num用于记录共产生了多少个对象,
//因此对象创建时会自动调用构造方法,因此加入num++,以达到构造一次产生一个对象,num值自动+1
class Cylinder{   
	private static int num=0;
	private static double pi=3.14;
	private double radius;
	private int height;
	public Cylinder(double r,int h) {
		radius=r;
		height=h;
		num++;
	}
	public void count() {
		System.out.print("创建了"+num+"个对象:");
	}
	double area(){
		return pi*radius*radius;
	}
	double volume() {
		return area()*height;	
	}
}
public class example1{
	public static void main(String[] args){
		Cylinder volu1=new Cylinder(2.5,5);
		volu1.count();
		System.out.println("圆柱体1的体积="+volu1.volume());
		Cylinder volu2=new Cylinder(1.0,2);
		volu2.count();
		System.out.println("圆柱体2的体积="+volu2.volume());
	}
}

创建了1个对象:圆柱体1的体积=98.125
创建了2个对象:圆柱体2的体积=6.28

静态方法
与静态变量相似,实质是属于整个类的方法

class Cylinder{   
	private static int num=0;
	private static double pi=3.14;
	private double radius;
	private int height;
	public Cylinder(double r,int h) {
		radius=r;
		height=h;
		num++;
	}
	public static void count() {   //声明count()为静态方法
		System.out.println("创建了"+num+"个对象:");
	}
	double area(){
		return pi*radius*radius;
	}
	double volume() {
		return area()*height;	
	}
}
public class example1{
	public static void main(String[] args){
		Cylinder.count();				//在对象产生之前用类名cylinder调用count()方法
		Cylinder volu1=new Cylinder(2.5,3);
		volu1.count();					//用对象volu1调用count()方法
		System.out.println("圆柱体1的体积="+volu1.volume());
		Cylinder.count();				//用类名cylinder直接调用count()方法
		Cylinder volu2=new Cylinder(1.0,2);
		System.out.println("圆柱体2的体积="+volu2.volume());
	}
}

创建了0个对象:
创建了1个对象:
圆柱体1的体积=58.875
创建了1个对象:
圆柱体2的体积=6.28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值