zoukankan      html  css  js  c++  java
  • 4.4 静态域与静态方法

    4.4 静态域与静态方法


    4.4.1 静态域
      如果将域定义为static,每个类中只有一个这样的域,而每一个对象对于所有的实例域却都有自己的一份拷贝。

    class Employee
    {
        private static int nextId = 1;
        private int id;
        ... 
    }

      每个雇员对象都有自己的id域,但所有的类的实例将共享一个nextId域,举例说如果有1000个Employee对象,则有1000个实例域id,但是只有一个静态域nextId。即便没有Employee对象,静态域nextId仍然是存在的。这个静态域nextId属于类,但不属于独立的对象。
     
    4.4.2 静态常量
      静态常量的使用比较常见,如:

    public class Math
    {
        ...
        public static final double PI = 3.1415926;
        ... 
    }

      在程序中,可以采用Math.PI的形式获得这个常量。
      如果关键字static被省略,PI就变成了Math类的一个实例域。需要通过Math类的对象访问PI,并且每一个Math对象都有它自己的一份PI拷贝。

    4.4.3 静态方法
      静态方法是一种不能向对象实施操作的方法。例如,Math类的pow方法就是一个静态方法。
      Math.pow(x, a)
      用来计算幂函数,在运算的时候,不适用任何Math对象,即没有隐式的参数。
      可以认为静态方法是没有this参数的方法(在非静态方法中,this参数表示这个方法的隐式参数)
      因为静态方法不能操作对象,所以不能在静态方法中访问实例域,但是静态方法可以访问自身的静态域。
      

    package class_;
    
    public class StaticTest_4_3 {
        public static void main(String args[])
        {
            Employee[] staff = new Employee[3];
            staff[0] = new Employee("Tom", 40000);
            staff[1] = new Employee("Kobe", 50000);
            staff[2] = new Employee("James", 50000);
        }
    }
    
    class Employee
    {
        private static int nextId = 1;
    
        private String name;
        private double salary;
        private int id;
    
        public Employee(String n, double s)
        {
            name = n;
            salary = s;
            id = 0;
        }
    
        public String getName()
        {
            return name;
        }
    
        public double getSalary()
        {
            return salary;
        }
    
        public int getId()
        {
            return id;
        }
    
        public void setId()
        {
            id = nextId;
            nextId++;
        }
    
        public static int getNextId()
        {
            return nextId;
        }	
    }                        
    

      

      
     

    能让一个男孩子热血的,不仅有梦想,还有姑娘。
  • 相关阅读:
    Bootstrap3 代码-代码块
    DB2 911错误的解释
    Bootstrap3 代码-用户输入
    Bootstrap3 代码-内联代码
    Bootstrap3 排版-列表
    Bootstrap3 排版-引用
    Bootstrap3 排版-地址
    Bootstrap3 排版-缩略语
    Bootstrap3 排版-改变大小写
    Bootstrap3 排版-对齐
  • 原文地址:https://www.cnblogs.com/Mr24/p/6414355.html
Copyright © 2011-2022 走看看