JAVA-static关键字

一。使用static声明属性

1.static声明全局属性

class Person{
	String name;
	int age;
	static String country="China";		//设置静态城市属性
	public Person(String name,int age){
		this.name = name;
		this.age = age;
		
	}
	public void info(){
		System.out.println("姓名"+this.name+"年龄"+this.age+"城市"+country);
	}
	
};
public class csdnTest21{
	public static void main(String arg[]){
		Person p1 = new Person("张三",30);
		Persom p2 =new Person("李四",40);
		Person P3 = new Person("王五",50);
		System.out.println("before");
		p1.info();
		p2.info();
		p3.info();
		p1.country = "B城";
		System.out.println("before");			//修改一个对象的country属性,则其他country属性内容全部改变
		p1.info();
		p2.info();
		p3.info();
	}
};
1.栈内存:可以保存对象的名称(保存访问堆内存的地址

2.推内存:保存对象的具体属性

3.全局数据区:保存static类型的属性

4全局代码区 保存所有方法的定义

一般在调用static属性时候最好使用类名称例如 Person.country =B



二。声明static方法

如果一个方法使用static关键字声明,则此方法可以直接使用类名称进行调用

public static void setCountry(String c){   //此方法直接由类名称调用
		country = c;
三。其他运用

1.统计一个类产生多少个实例化对象

方法:在构造方法添加static

class Demo{
	private static int count = 0; //对象共享此属性
	public Demo(){
		count++;
		System.out.println("产生了"+count+"个对象");
}
};
public class csdnTest23{
	public static void main(String arg[]){
		new Demo();		//增加新对象<span style="white-space:pre">		</span>//输出产生一个对象
		new Demo();		//增加新对象
		new Demo();		//增加新对象
	}
};
2.使用static对象进行自动命名操作

class Demo{	// 定义Person类
	private String name ;			// 保存名字
	private static int count = 0 ;	// 所有对象共享此属性
	public Demo(){
		count++ ;					// 有对象产生就自增
		this.name = "DEMO-" + count ;	// 自动进行编名操作
	} 
	public Demo(String name){
		this.name = name;			// 可以通过构造赋值
	}
	public String getName(){		// 取得姓名
		return this.name ;
	}
};
public class csdnTest23{
	public static void main(String args[]){
		System.out.println(new Demo().getName()) ;
		System.out.println(new Demo("LXH").getName()) ;
		System.out.println(new Demo().getName()) ;
		System.out.println(new Demo("MLDN").getName()) ;
		System.out.println(new Demo().getName()) ;
	}
};



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值