JAVA静态成员与实例成员例子-计算税金
JAVA静态成员与实例成员类是类型而不是对象,一般在类里定义的成员是每个由此类产生的对象都拥有的,因此可以称之为对象成员,但是有时需要让类的所有对象在类的范围内共享某个成员,而这个成员不属于任何由此类
JAVA静态成员与实例成员 类是类型而不是对象,一般在类里定义的成员是每个由此类产生的对象都拥 有的,因此可以称之为对象成员,但是有时需要让类的所有对象在类的范围内共 享某个成员,而这个成员不属于任何由此类产生的对象,它是属于整个类的,这 种成员称之为静态成员。例如,Math类中的pow方法是一个静态方法。静态方 法不向对象施加任何操作。我们用Math.pow(x,y)调用Math类的pow方法计算 y 幂x,它并不使用任何一个Math对象来执行此任务,也没对任何对象施加操作。 6.1 静态字段和实例字段 实例:自动编号 主要知识点:。实例成员与静态成员的特征。实例成员与静态成 实例成员与静态成员的概念 员的访问规则。 问题描述:修改2.3节雇员税金计算实例,给雇员类添加一个属性雇员编号。 当创建一个雇员对象时,按创建雇员对象的顺序自动给该雇员的雇员编号设置一 个值,同时还给雇员类添加一个number字段和getNumber方法。通过number字 段和getNumber方法都可获得系统中雇员的人数。 分析:我们在雇员类中除增加雇员编号属性之外,还增加了一个Number属 性以计算存在于系统中雇员的人数,Number这个属性不应该属于哪个特定的对 象,它是属于雇员类的,因此Number属性必须定义为静态属性。每创建一个对 象(调用构造函数),雇员人数加1。由于Number属性是静态属性,因此不管 有无雇员,都可读取Number属性的值。Number属性的值是雇员对象的数目,客 户是不能修改该属性值的,因此Number属性是只读属性即只有getNumber方法 获取Number属性的值,不能有setNumber方法。 为了自动给员工的编号,我们在雇员类中再增加一个nextID字段,该字段 也应该是静态字段,因为即使没有雇员对象,该字段也是存在的。它属于这个类, 而不属于单个对象。 2.3节 1.打开雇员税金计算实例创建的Employee.java代码文件 2.修改类(修改部分见带底纹部分)。 Employee packagech4; importjava.text.*; publicclassEmployee{ privateStringname; privatedoublesalary; privateintid; privatestaticintnextID=1000; privatestaticintnumber; publicEmployee(Stringname,doublesalary){ this.name=name; this.salary=salary; number=number+1;

