Java 修饰符学习笔记

修饰符是Java语言中的关键字,用于控制类、方法以及变量的访问权限和行为。在Java中,共有四种访问修饰符:public、protected、default以及private,还有几种非访问修饰符。

访问修饰符

public

public是最常用的访问修饰符之一,它表示公共的,意味着被它修饰的类、方法以及变量可以被任何其他类访问。

举例来说:

javaCopy Code
public class Student { public String name; public int age; public void study() { System.out.println("I'm studying."); } }

这个Student类中的name、age以及study()方法都是public的,因此可以被任何其他类访问。

protected

protected表示受保护的,其作用与public类似,但只能被同一包中的类或该类的子类访问。

举例来说:

javaCopy Code
package com.company; public class Person { protected String name; protected int age; protected void work() { System.out.println("I'm working."); } }

这个Person类中的name、age以及work()方法都是protected的,因此只能被com.company包中的类或该类的子类访问。

default

default是最少见的访问修饰符之一,也称为包级访问权限,其作用是只能被同一包中的类访问。

举例来说:

javaCopy Code
package com.company; class Animal { String name; int age; void sleep() { System.out.println("I'm sleeping."); } }

这个Animal类中的name、age以及sleep()方法都是default的,因此只能被com.company包中的类访问。

private

private是最严格的访问修饰符之一,表示私有的,其作用是只能被该类内部的方法访问。

举例来说:

javaCopy Code
public class Car { private String type; private int price; private void run() { System.out.println("The car is running."); } }

这个Car类中的type、price以及run()方法都是private的,因此只能被该类内部的方法访问。

非访问修饰符

static

static是一个用于修饰类、变量或方法的关键字。被static修饰的变量或方法属于类而非对象,可以通过类名直接访问。

举例来说:

javaCopy Code
public class Calculator { public static int add(int a, int b) { return a + b; } }

这个Calculator类中的add()方法被static修饰,可以通过类名直接调用,例如:

javaCopy Code
int result = Calculator.add(1, 2);

final

final也是一个用于修饰类、变量或方法的关键字。被final修饰的类无法被继承,被final修饰的变量无法被修改,被final修饰的方法无法被重写。

举例来说:

javaCopy Code
public final class Circle { public final double PI = 3.1415926; public final double radius; public Circle(double radius) { this.radius = radius; } public final double area() { return PI * radius * radius; } }

这个Circle类被final修饰,无法被其他类继承。其PI常量和radius变量也被final修饰,无法被修改,而area()方法被final修饰,无法被重写。

总结

Java中的访问修饰符有public、protected、default以及private,用于控制类、方法以及变量的访问权限。非访问修饰符有static和final,用于控制类、变量或方法的行为。

以上是Java 修饰符学习笔记,希望对您有所帮助。