前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >4.4 静态域与静态方法

4.4 静态域与静态方法

作者头像
Mister24
发布2018-05-14 10:18:58
1K0
发布2018-05-14 10:18:58
举报
文章被收录于专栏:java初学

4.4 静态域与静态方法

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

代码语言:javascript
复制
class Employee
{
    private static int nextId = 1;
    private int id;
    ... 
}

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

代码语言:javascript
复制
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参数表示这个方法的隐式参数)   因为静态方法不能操作对象,所以不能在静态方法中访问实例域,但是静态方法可以访问自身的静态域。

代码语言:javascript
复制
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;
    }	
}                        
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档