欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习笔记——面向对象(三)

程序员文章站 2022-06-14 22:05:38
...
/*
 *用static修饰的属性为静态属性,无需创建类的实例化对象即可使用
 *即相当于是全局变量
 *static 关键字在修饰变量时,只能修饰成员变量,不能修饰方法当中的局部变量
 *静态方法sayd()不能访问实例变量count,因为静态方法空间直接 分配,而实例变
 *量必须在创建对象,开辟内存后,才能够进行访问
 * */
class Person3{
	int count;
	static int num;
	public Person3(){
		count++;
		num++;
	}
	public void say(){
		System.out.println("num的值:"+num);
		System.out.println("count的值:"+count);
	}
	public static void sayd(){
		System.out.println("此方法为静态方法,无需实例化对象");
		/*此处有错误,静态方法sayd()不能访问实例变量count,因为静态方法空间直接
		 * 分配,而实例变量必须在创建对象,开辟内存后,才能够进行访问
		 */
		//System.out.println("count的值:"+count);	
	}
}
public class TestPerson3 {

	public static void main(String[] args) {
		Person3 p1 = new Person3();
		Person3 p2 = new Person3();
		Person3 p3 = new Person3();
		Person3 p4 = new Person3();
		Person3 p5 = new Person3();
		Person3 p6 = new Person3();
		p6.say();
		System.out.println("num的值:"+Person3.num); //无需实例化对象,即可直接调用
		Person3.sayd();//此方法为静态方法,无需实例化对象
	}

}