Java修饰符是指用来控制程序类、方法、变量和常量访问权限的关键字。Java中有四种访问修饰符用来控制访问:public, private, protected以及默认访问修饰符(即不写任何关键字)。此外还有final, static, abstract等修饰符。本篇文章将从访问权限、继承、多态、抽象类、接口等几个方面来详解Java修饰符。
一、访问权限修饰符
访问权限修饰符指的是控制类、方法、变量和常量的访问权限,共有四个关键字:public、private、protected及默认。其中:
- public:可以被任何类或者接口访问,表示该类、方法、变量或者常量是公开的。
- private:只能在该类中访问,表示该类、方法、变量或者常量是私有的。
- protected:可以被继承类访问,表示该类、方法、变量或者常量是受保护的。
- 默认:可以被同一个包中的其他类访问,表示该类、方法、变量或者常量是默认的。
下面是一个Java代码示例:
public class AccessModifiersExample { public String publicVariable = "Public Variable"; private String privateVariable = "Private Variable"; protected String protectedVariable = "Protected Variable"; String defaultVariable = "Default Variable"; public void publicMethod() { System.out.println("Public Method."); } private void privateMethod() { System.out.println("Private Method."); } protected void protectedMethod() { System.out.println("Protected Method."); } void defaultMethod() { System.out.println("Default Method."); } }
二、继承修饰符
继承修饰符指的是用来控制子类对父类中成员的继承能力。Java中有两种继承修饰符:final和abstract。其中:
- final:用来修饰类、方法、变量和常量,表示该类、方法、变量或者常量是不可变的。
- abstract:只能用来修饰类和方法,表示该类或者方法是抽象的。
下面是一个Java代码示例:
public abstract class Animal { public String type; public void move() { System.out.println("The animal is moving."); } public abstract void eat(); } public final class Cat extends Animal { public void eat() { System.out.println("The cat is eating."); } }
三、多态修饰符
多态修饰符指的是让父类对象可以拥有子类对象的特性的关键字,主要有两种关键字:static和final。其中:
- static:用来修饰类、方法、变量和常量,表示该类、方法、变量或者常量是静态的,在内存中只有一份。
- final:用来修饰变量、方法和类,表示该变量、方法或者类是不可修改的,可以避免在运行时被修改。
下面是一个Java代码示例:
public class PolymorphismExample { public static void main(String[] args) { Animal animal1 = new Cat(); Animal animal2 = new Dog(); animal1.move(); animal2.move(); } } class Animal { public void move() { System.out.println("The animal is moving."); } } class Cat extends Animal { public void move() { System.out.println("The cat is moving."); } } class Dog extends Animal { public void move() { System.out.println("The dog is moving."); } }
四、抽象类和接口修饰符
抽象类和接口修饰符是Java特有的关键字。其中:
- 抽象类:用来修饰类,表示该类是抽象的,无法实例化。主要用于继承。
- 接口:用来声明一组方法,但是不能够实现这些方法,用来约束继承该接口的类必须实现这些方法。
下面是一个Java代码示例:
public abstract class AbstractClassExample { public abstract void eat(); } public class InterfaceExample implements Interface1, Interface2 { public void method1() { System.out.println("Implementation of method 1."); } public void method2() { System.out.println("Implementation of method 2."); } } public interface Interface1 { public void method1(); } public interface Interface2 { public void method2(); }
总结
Java修饰符是控制程序类、方法、变量和常量访问权限的关键字。Java中有四种访问修饰符用来控制访问:public、private、protected及默认访问修饰符;有两种继承修饰符:final和abstract;有两个多态修饰符:static和final;抽象类和接口也是Java特有的关键字。掌握这些关键字可以让Java程序员更好地管理程序中的代码。