用static自动为属性命名,static应用案例



(1)如果一个属性被static定义,那么这个属性将不会保存在堆内存中,会保存在一个全局数据区的空间中。并且所有对象都可以进行数据区的访问,
这时候这种属性被称为类属性,都可以通过  类.属性  进行直接调用。但是所有的非static属性都必须实例化一个对象进行调用。
(2)static方法
这种方法也可以通过“类.方法”进行调用。
注意:所有static方法不允许调用非static定义的方法和属性。
    所有非static方法允许访问static方法和属性
 (3)static案例应用
 static属性的功能是进行共享的操作,所以可以使用static做一个对象产生的计数统计。所有新对象的产生一定要使用构造方法完成。
 所以可以在构造方法中实现统计。
 示例:假设一个Person类中有一个name属性和2个构造方法,其中一个构造方法可以接受外部传递的name属性内容,另一个是无参构造方法,
 就希望可以自动的为我们类中的name属性做一个自动赋值,
 
public class Test {


public static void main(String[] args) {
System.out.println(new Person().getName());
System.out.println(new Person("zhangsan").getName());
System.out.println(new Person().getName());



}


}
class Person
{   private String name;
   public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private static int count=0;//保存对象产生个数。
   public Person()//由程序自己设置内容
   {
  this("NONAME-"+count++);//调用内部有参构造
   }
   public Person(String name)//由外部传入内容
   {
  this.name=name;
   }

}
结果:
NONAME-0
zhangsan
NONAME-1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值