JAVA语言学习_02(关于static)

作为一个初学者,最令我好奇的就是static,无论是声明类,还是函数,还是变量基本上都有static。这是我学习C不常见的,所以为了搞懂static的作用,我查阅了先关的资料,比得出下面自己的见解。

用static修饰的有:静态变量,静态方法,静态类。当声明静态之后,当声明对象的时候不产生拷贝,都只是共用。

1.静态变量:我认为静态变量就是象全局变量一样,任何地方都是一样的。看下面的例子:

public class AboutStatic {
		static class Book{
		double price;
		static int num=100;
		public void addBook(){
			num++;
			System.out.println("this book price is:"+price+"and the book's number is:"+num);
		}
	}
	public static void main(String[] args) {
		Book b1=new Book();
		b1.price=10;
		b1.addBook();
		Book b2=new Book();
		b2.price=10;
		b2.addBook();
	}
}
这里输出的结果是:

this book price is:10.0and the book's number is:101
this book price is:10.0and the book's number is:102
这里,可以实例化不同的对象,但静态变量还是原来那个,不产生拷贝,是共用的。这和全局变量是很相似的。

2.静态方法:感觉很静态变量很相像,一次声明到处能用,而且不用实例化也能用。看下面的例子:

public class AboutStatic {
	public static void main(String args[]){
	Hellow.Say();
	}
	public static class Hellow{
		 public static void Say(){
			 System.out.println("hellow world");
		 }
	}
}
结果是:

hellow world
代码中就没用实例化类,但也能使用Hellow类中的Say()方法。但值得我们注意的是如果如果静态方法调用变量的话,这个变量必须也是静态的。

3.静态类:静态的类不就是静态变量和静态方法组成的么。要使用静态方法,必须将类声明成静态的,就像静态方法调用变量,变量必须是静态的样。总之,静态一家亲。值得注意的静态类中不能使用this和super。

总之,“如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static”。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值