Java 修饰符学习笔记
修饰符是Java语言中的关键字,用于控制类、方法以及变量的访问权限和行为。在Java中,共有四种访问修饰符:public、protected、default以及private,还有几种非访问修饰符。
访问修饰符
public
public是最常用的访问修饰符之一,它表示公共的,意味着被它修饰的类、方法以及变量可以被任何其他类访问。
举例来说:
javaCopy Codepublic 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 Codepackage 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 Codepackage 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 Codepublic 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 Codepublic class Calculator {
public static int add(int a, int b) {
return a + b;
}
}
这个Calculator类中的add()方法被static修饰,可以通过类名直接调用,例如:
javaCopy Codeint result = Calculator.add(1, 2);
final
final也是一个用于修饰类、变量或方法的关键字。被final修饰的类无法被继承,被final修饰的变量无法被修改,被final修饰的方法无法被重写。
举例来说:
javaCopy Codepublic 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 修饰符学习笔记,希望对您有所帮助。