java修饰符:abstract final static 的区别

张开发
2026/4/15 2:30:22 15 分钟阅读

分享文章

java修饰符:abstract final static 的区别
文章目录前言一、三者的基本概念对比二、代码场景实操演示1. abstract用法演示抽象类抽象方法2. final用法演示类/方法/变量3. static用法演示类成员静态方法静态代码块静态内部类4. 禁止组合的场景面试高频坑点总结前言面试官「说说 abstract、final、static 这三个访问修饰符的区别」答abstract是声明抽象需要被继承或实现用于类、方法final是声明不可改变用于类、方法、变量static是声明静态属于类而非实例用于类、方法、变量、代码块其中abstract的核心理念是未完成待实现final则是已完成不可变static是属于类但不依赖于实例。阅读建议建议观看视频后再阅读文章理解更深哦建议观看视频后再阅读文章理解更深哦视频观看地址视频跳转链接一、三者的基本概念对比修饰符作用可修饰的对象核心理念abstract声明抽象需要被继承/实现类、方法“未完成待实现”final声明不可改变类、方法、变量“已完成不可变”static声明静态属于类而非实例类、方法、变量、代码块“属于类不依赖实例”二、代码场景实操演示1. abstract用法演示抽象类抽象方法//1. abstract用法演示抽象类抽象方法 abstract class AbstractDemo{//[重点]抽象方法只有声明无实现强制子类重写 public abstract void abstractMethod();// 抽象类可以包含普通方法 public voidnormalMethod(){System.out.println(抽象类中的普通方法);}}子类必须实现抽象方法// 子类必须实现抽象方法 class ConcreteDemo extends AbstractDemo{Override public voidabstractMethod(){System.out.println(子类实现抽象方法);}}abstract核心抽象类不能实例化必须被继承抽象方法必须被子类实现除非子类也是抽象类作用是强制子类遵循统一的接口规范常用于框架的顶层设计如Java集合的List接口。2. final用法演示类/方法/变量//2. final用法演示类/方法/变量 //[重点]final类禁止被继承 final class FinalClass{final int q1;//[重点]final方法禁止被子类重写 public final voidfinalMethod(){System.out.println(final方法不可重写);}}final核心final类禁止继承如String类final方法禁止重写final变量赋值后不可修改作用是保证代码的稳定性防止子类篡改父类逻辑常用于定义常量、核心工具类。3. static用法演示类成员静态方法静态代码块静态内部类//3. static用法演示类成员静态方法静态代码块静态内部类 class StaticDemo{//[重点]static变量属于类所有实例共享 public static int staticCount0;public int instanceCount0;//[重点]static代码块 static{System.out.println(静态代码块执行);}// //[重点]static内部类 static class Inner{voidshow(){System.out.println(静态内部类);}}//[重点]static方法属于类不能访问非静态成员 public static voidstaticMethod(){System.out.println(静态方法访问静态变量 staticCount);// 编译报错静态方法不能访问非静态成员 // System.out.println(instanceCount);}}static核心static变量/方法属于类本身而非实例所有实例共享同一个静态变量静态方法不能访问非静态成员因为静态方法加载时实例还未创建常用于工具方法如Math类的静态方法。4. 禁止组合的场景面试高频坑点编译报错abstract和final不能同时修饰类抽象类需要被继承final类禁止继承abstract final class InvalidClass {}编译报错abstract和static不能同时修饰方法抽象方法需要重写静态方法不能重写public abstract static void invalidMethod();总结作者加辣椒了吗简介憨批大学生一枚喜欢在博客上记录自己的学习心得也希望能够帮助到你们我在「辣椒微创」有更详细的案例和工具你应该用得上(主页有指路) 【创业项目】副业灵感、轻资产玩法、互联网创收思路 【资源分享】PPT、音效、模板、字体、插件等创作者工具合集 【软件下载】精选高效、靠谱的生产力工具及安装指南 【编程开发】编程学习资源、项目源码、开发工具、实战案例 【薅羊毛】精选各种优惠折扣、平台补贴信息帮你省钱放大收益。

更多文章