美文网首页
Java核心技术(卷I) 4、静态字段与静态方法

Java核心技术(卷I) 4、静态字段与静态方法

作者: kaiker | 来源:发表于2021-02-16 15:09 被阅读0次

    1、静态字段

    如果将一个字段定义为static,每个类只有一个这样的字段。

    class Employee {
      private static int nextId = 1;  // 不论有多少个对象,他们都共享这个字段
      private int id; // 每个对象都会有一个id
    }
    

    2、静态常量

    同时具有static和final的特点 https://www.cnblogs.com/pandam/p/10965616.html

    关于静态先于对象的解释 http://bbs.itheima.com/forum.php?mod=viewthread&tid=171962

    3、静态方法

    • 静态方法是不在对象上执行的方法,例如Math.pow(x, a)
    • 静态方法没有this参数方法,不能访问实例字段,不能在对象上执行操作
    • 可以访问静态字段;要访问非静态字段可以通过构建类对象访问
    public static int getNextId(){
      return nextId;
    }
    int n = Employee.getNextId();
    
    • 什么时候使用静态方法:
      1. 方法所有参数都通过显式参数提供 (显式参数:https://www.jianshu.com/p/4aa648e19b5a)
      2. 方法只需要访问静态字段
    • 不能调用非静态方法,但是可以通过对象访问
    • 普通的方法中,可以直接访问同类中的非静态变量和静态变量

    更多解释:静态变量、静态方法 https://www.cnblogs.com/liuzeyu12a/p/10341348.html

    4、静态工厂方法

    • 可以用来构造对象,比如
    NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
    NumberFormat percentFormatter = NumberFormat.getPercentInstance();
    
    • 可以给构造器赋予不同的名字
    • 可以构造出不同类型的对象

    相关文章

      网友评论

          本文标题:Java核心技术(卷I) 4、静态字段与静态方法

          本文链接:https://www.haomeiwen.com/subject/dinyxltx.html