重拾JAVA基础06——static关键字

package day07;

/*
 * static (静态修饰符)
 * 1. static 修饰成员变量 : 如果数据需要共享,用static修饰。
 * 			静态成员变量的访问方式:
 * 				1. 对象名.变量名
 * 
 * 				2. 类名.变量名
 * 			注意:
 * 				1.非静态成员变量只能使用对象访问,不能使用类名进行访问
 * 				2.千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候才使用static修饰
 * 
 * 
 * static 修饰成员变量的应用场景:如果一个数据需要被所有对象共享使用的时候,这时即可使用static修饰
 * 
 * 2. static 修饰成员函数(静态成员方法)
 * 		访问方式:
 * 				方式1:可以使用对象进行访问
 * 						对象名.变量名
 * 
 * 				方式2:可以使用类名进行访问
 * 						类名.变量名
 * 
 * 推荐使用类名进行访问,可以节省内存空间。书写会更加简便。
 * 		
 * 		注意:
 * 			1.静态函数可以使用类名或者对象名访问,非静态只能用对象名进行访问。
 * 			2.静态函数可以直接访问静态的成员,但是不能直接访问非静态成员(含函数与变量)。
 * 			3.非静态函数可以访问静态与非静态成员。
 * 			4.静态函数不能出现this或者super关键字。
 * 				原因:静态的函数是可以使用类名调用的,一旦使用类名调用,这时候不存在对象,而this关键字是代表了一个函数的调用者
 * 					对象,这时产生了冲突。
*/

class Emp{
	static int counter = 0;
	String name;
	static{
		System.out.println("静态代码块执行了...");
	}
	{
		counter++;
	}
	
	public Emp(String name){
		this.name = name;
	}
	
	public static void show(){
		System.out.println("有"+Emp.counter+"位访客");
	}
}


public class Demo10 {

	public static void main(String[] args) {
		new Emp("1");
		new Emp("2");
		new Emp("3");
		new Emp("4");
		new Emp("5");
		Emp.show();
	}

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值