美文网首页Java入门
修饰符(访问、static、final)

修饰符(访问、static、final)

作者: 朱兰Juran | 来源:发表于2022-04-08 07:44 被阅读0次

访问修饰符

现在,让我们来了解main方法前面的 public 关键字。

public static void main(String[] args)

public 是一个访问修饰符,它被用来设置访问级别。在 Java 中,可以使用访问修饰符来保护对类、变量、方法的访问。

Java 支持 4 种不同的访问权限。

default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private : 在同一类内可见。使用对象:变量、方法。

public : 对所有类可见。使用对象:类、接口、变量、方法

protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。

下面是一个例子:

public class Dog {

  private String name;

  private int age;

  private String color;

  public void barking() {

    System.out.println("Woof-Woof");

  }

}

注意: private 和 protected 修饰符不能修饰类(外部类)。


static 修饰符

静态变量

当你声明一个变量或方法为静态时,它属于这个类,而不是一个特定的实例。

不管你创建了该类的多个对象,或者如果你不创建任何对象, 有且只有一个静态成员的实例存在。

该静态成员将被所有对象共享。

static 关键字用来声明独立于对象的静态变量。

下面是一个例子:

public class Counter {

  public static int numCount = 0;

  Counter() {

    numCount++;

  }

}

numCount 变量将被该类的所有对象共享。

现在,我们可以在main中创建Counter类的对象,并访问静态变量。

public class MyJavaClass {

  public static void main(String[] args) {

    Counter c1 = new Counter();

    Counter c2 = new Counter();

    System.out.println(Counter.numCount);

  }

}

//输出 "2"

上面代码的输出结果是2,因为numCount变量是静态的,每次创建一个Counter类的新对象时都会增加1,而在代码中,我们创建了2个对象。

你也可以使用该类的任何对象(如c1.numCount)来访问静态变量。


final修饰符

使用 final 关键字标记一个常量,常量只能被赋值一次。

final 修饰符通常和 static 修饰符一起使用来创建类常量。

下面是一个例子:

class MyJavaClass {

  public static final double PI = 3.14;

  public static void main(String[] args) {

    System.out.println(PI);

  }

}

PI 现在是一个常量。任何为其赋值的尝试都会输出错误。

提示:方法和类也可以标记为 final,这样做可以限制方法,使其不能被重写,并且不能使其成为子类。在后面的章节中,我们将进一步的介绍有关知识。

相关文章

网友评论

    本文标题:修饰符(访问、static、final)

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