当前位置: 首页 > news >正文

Java开发:常用关键字


1. 类相关的关键字

(1)class
  • 作用:用于定义类。
  • 示例
    class MyClass {
        // 类内容
    }
    
(2)public
  • 作用:类可以被任何其他类访问。
  • 示例
    public class MyClass {
        // 类内容
    }
    
(3)abstract
  • 作用:类不能被实例化,通常用于定义抽象类。
  • 示例
    public abstract class Animal {
        public abstract void makeSound();  // 抽象方法
    }
    
(4)final
  • 作用:类不能被继承。
  • 示例
    public final class MyFinalClass {
        // 类内容
    }
    
(5)extends
  • 作用:用于类继承另一个类。
  • 示例
    class Child extends Parent {
        // 类内容
    }
    
(6)implements
  • 作用:用于类实现接口。
  • 示例
    class MyClass implements MyInterface {
        // 类内容
    }
    
(7)sealed(Java 17 引入)
  • 作用:类可以被继承,但只能被指定的类继承。
  • 示例
    public sealed class Shape permits Circle, Square {
        // 类内容
    }
    
    public final class Circle extends Shape {
        // 类内容
    }
    
    public final class Square extends Shape {
        // 类内容
    }
    

2. 变量相关的关键字

(1)public
  • 作用:变量可以被任何其他类访问。
  • 示例
    public int myVar = 10;
    
(2)protected
  • 作用:变量可以在同一个类、同一个包以及子类中访问。
  • 示例
    protected int myVar = 20;
    
(3)private
  • 作用:变量只能在同一个类中访问。
  • 示例
    private int myVar = 30;
    
(4)static
  • 作用:变量属于类级别,而不是实例级别。所有实例共享同一个静态变量。
  • 示例
    public static int myVar = 40;
    
(5)final
  • 作用:变量不能被重新赋值(常量)。
  • 示例
    public final int myVar = 50;
    
(6)volatile
  • 作用:变量在多线程环境下可见,确保线程安全。
  • 示例
    public volatile int myVar = 60;
    
(7)transient
  • 作用:变量不会被序列化。
  • 示例
    public transient int myVar = 70;
    

3. 方法相关的关键字

(1)public
  • 作用:方法可以被任何其他类访问。
  • 示例
    public void myMethod() {
        System.out.println("This is a public method.");
    }
    
(2)protected
  • 作用:方法可以在同一个类、同一个包以及子类中访问。
  • 示例
    protected void myMethod() {
        System.out.println("This is a protected method.");
    }
    
(3)private
  • 作用:方法只能在同一个类中访问。
  • 示例
    private void myMethod() {
        System.out.println("This is a private method.");
    }
    
(4)static
  • 作用:方法属于类级别,而不是实例级别。可以通过类名直接调用。
  • 示例
    public static void myMethod() {
        System.out.println("This is a static method.");
    }
    
(5)final
  • 作用:方法不能被重写。
  • 示例
    public final void myMethod() {
        System.out.println("This is a final method.");
    }
    
(6)abstract
  • 作用:方法没有方法体,必须由子类实现。
  • 示例
    public abstract void myMethod();
    
(7)synchronized
  • 作用:方法在同一时间只能被一个线程访问。
  • 示例
    public synchronized void myMethod() {
        System.out.println("This is a synchronized method.");
    }
    
(8)native
  • 作用:方法由本地代码(如 C/C++)实现。
  • 示例
    public native void myMethod();
    

4. 接口相关的关键字

(1)interface
  • 作用:用于定义接口。
  • 示例
    interface MyInterface {
        void myMethod();
    }
    
(2)default(Java 8 引入)
  • 作用:用于在接口中定义默认方法。
  • 示例
    interface MyInterface {
        default void myMethod() {
            System.out.println("This is a default method.");
        }
    }
    
(3)static(Java 8 引入)
  • 作用:用于在接口中定义静态方法。
  • 示例
    interface MyInterface {
        static void myMethod() {
            System.out.println("This is a static method.");
        }
    }
    
(4)private(Java 9 引入)
  • 作用:用于在接口中定义私有方法。
  • 示例
    interface MyInterface {
        private void myMethod() {
            System.out.println("This is a private method.");
        }
    }
    
(5)extends
  • 作用:用于接口继承其他接口。
  • 示例
    interface MyInterface extends AnotherInterface {
        // 接口内容
    }
    
(6)@FunctionalInterface(Java 8 引入)
  • 作用:用于标记函数式接口。
  • 示例
    @FunctionalInterface
    interface MyFunctionalInterface {
        void myMethod();
    }
    

5. 总结

  • classpublicabstractfinalextendsimplements 等关键字用于定义类的行为和特性。
  • 变量publicprotectedprivatestaticfinalvolatile 等关键字用于定义变量的访问权限和行为。
  • 方法publicprotectedprivatestaticfinalabstract 等关键字用于定义方法的访问权限和行为。
  • 接口interfacedefaultstaticprivateextends@FunctionalInterface 等关键字用于定义接口的行为和特性。

相关文章:

  • 快速迭代:利用 nodemon 和其他工具实现 Express.js 热更新
  • QEMU源码全解析 —— 块设备虚拟化(4)
  • 【微服务】java中http调用组件深入实战详解
  • Python 序列
  • 双层BEV启发式具身导航路径规划新范式!Dual-BEV Nav:非结构化户外环境中的机器人导航
  • 群体智能优化算法-䲟鱼优化算法 (Remora Optimization Algorithm, ROA,含Matlab源代码)
  • spring-设计模式
  • CMake 生成静态库、动态库
  • Java集合简单理解
  • Authenticity is the compass that guides you to your true purpose
  • 【大模型实战篇】使用GPTQ量化QwQ-32B微调后的推理模型
  • Solopi使用文档
  • 开源链动 2+1 模式 AI 智能名片 S2B2C 商城小程序助力社群发展中榜样影响力的提升
  • 【Spring】Spring整合以及事务控制
  • Docker和 Docker Compose安装MySQL:快速搭建数据库环境
  • 编程题-第k个语法符号
  • 《P4387 【深基15.习9】验证栈序列》
  • 一分钟了解深度学习
  • 统计数字字符个数(信息学奥赛一本通-1129)
  • 2025-03-16 学习记录--C/C++-PTA 练习4-10 找出最小值
  • 这座古村,藏着多少赣韵风华
  • 韩德洙成为韩国执政党总统大选候选人
  • 中国一重集团有限公司副总经理陆文俊被查
  • 视频丨雄姿英发!中国仪仗队步入莫斯科红场
  • 国家主席习近平在莫斯科出席红场阅兵式
  • 吉林市马拉松5月18日开赛,奖牌、参赛服公布