美文网首页
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、静态字段与静态方法

    1、静态字段 如果将一个字段定义为static,每个类只有一个这样的字段。 2、静态常量 同时具有static和f...

  • 静态和非静态

    一 Java静态和非静态的区别 这里的静态,指以static关键字修饰的,包括类,方法,块,字段。静态变量和静态方...

  • jni常见的使用

    1. 访问java属性。 2. 访问java静态属性。 3. 访问java方法。 4. 访问java静态方法。 5...

  • java中的静态属性与静态方法可以被继承么

    java中的静态属性与静态方法可以被继承么 结论: java中静态属性和静态方法可以被继承,但是没有被重写(ove...

  • 双11Java程序员书单推荐

    Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《...

  • python 进阶 面向对象(三)

    成员修饰符:公有、私有普通字段、静态字段、普通方法、静态方法、类方法、普通特性class Foo: xo ...

  • static

    static,字面意思是静态,在java中可以用来修饰变量、方法、类,也可以形成静态代码块。static修饰的字段...

  • Java 中的 static 使用之静态方法

    Java 中的 static 使用之静态方法 与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法...

  • 静态方法不存在任何静态分派机制

    输出 静态方法不存在任何静态分派机制,当一个程序调用静态方法、字段时,要被调用的方法、字段都是在编译时刻被选定的,...

  • Java类的初始化顺序

    这票文章主要想来说一下Java类各部分(非静态字段初始化、非静态块、静态字段初始化、静态块、构造函数)的执行顺序。...

网友评论

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

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