📜  Java中的非访问修饰符(1)

📅  最后修改于: 2023-12-03 14:42:59.669000             🧑  作者: Mango

Java中的非访问修饰符

在Java中,非访问修饰符是一种用于修饰类、变量、方法和其他元素的关键字。非访问修饰符的作用是为Java程序提供更多的灵活性和功能。在本文中,我们将介绍Java中的一些常用的非访问修饰符。

final关键字

final是Java中最常用的非访问修饰符之一。使用final关键字可以将变量、方法和类声明为不可改变的,即它们的值或内容是常量。以下是final关键字的一些常用情况。

final变量

在Java中,如果我们希望一个变量的值在声明之后不能被更改,我们可以使用final关键字。以下是一些使用final变量的示例代码。

final int x = 10; // x是一个常量
final double PI = 3.14159; // PI是一个常量
final方法

在Java中,如果我们希望一个方法的内容不能被子类覆盖,我们可以使用final关键字。以下是一个使用final方法的示例代码。

class Animal {
  final void sound() {
    System.out.println("动物会叫");
  }
}

class Cat extends Animal {
  // 下面这行代码会产生编译错误
  void sound() {
    System.out.println("猫会喵喵叫");
  }
}
final类

在Java中,如果我们希望一个类不能被继承,我们可以使用final关键字。以下是一个使用final类的示例代码。

final class Animal {
  // 类的内容
}

class Cat extends Animal {
  // 下面这行代码会产生编译错误
}
static关键字

static是Java中的另一个常用非访问修饰符。使用static关键字可以将变量、方法和嵌套类声明为静态的。以下是static关键字的一些常用情况。

static变量

在Java中,如果我们希望一个变量是与类相关的,而不是与类的每个实例相关的,我们可以使用static关键字。以下是一些使用static变量的示例代码。

class Counter {
  static int count = 0;
  
  void increment() {
    count++;
  }
  
  void display() {
    System.out.println("当前count的值为:" + count);
  }
}

class Main {
  public static void main(String[] args) {
    Counter c1 = new Counter();
    Counter c2 = new Counter();
    
    c1.increment();
    c2.increment();
    
    c1.display(); // 当前count的值为:2
    c2.display(); // 当前count的值为:2
  }
}
static方法

在Java中,如果我们希望一个方法不需要创建对象就可以被调用,我们可以使用static关键字。以下是一个使用static方法的示例代码。

class MathUtils {
  static int add(int a, int b) {
    return a + b;
  }
}

class Main {
  public static void main(String[] args) {
    int result = MathUtils.add(5, 10);
    System.out.println("5和10的和为:" + result); // 5和10的和为:15
  }
}
abstract关键字

abstract是Java中的第三个常用非访问修饰符。使用abstract关键字可以将类和方法声明为抽象的。以下是abstract关键字的一些常用情况。

abstract类

在Java中,如果我们希望一个类不能被实例化,我们可以使用abstract关键字。以下是一个使用abstract类的示例代码。

abstract class Animal {
  abstract void sound();
}

class Cat extends Animal {
  void sound() {
    System.out.println("猫会喵喵叫");
  }
}
abstract方法

在Java中,如果我们希望一个方法不提供任何实现,只是声明接口,我们可以使用abstract关键字。以下是一个使用abstract方法的示例代码。

abstract class Animal {
  abstract void sound();
}

class Cat extends Animal {
  void sound() {
    System.out.println("猫会喵喵叫");
  }
}
总结

在本文中,我们介绍了Java中的一些常用的非访问修饰符:finalstaticabstract。这些关键字可以让我们在Java程序中实现更多的功能和灵活性。