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

Java中修饰类的关键字

Java中修饰类的关键字

在web编程课上,老师提问了Java中各种修饰类的关键字的用途和区别,一时间我头脑空白,现在课后重新梳理一遍Java中修饰类的各种关键字的区别和用法。在Java编程中,修饰类的关键字起着至关重要的作用,它们能够控制类的访问权限、行为特性以及继承关系等。本文将详细介绍Java中修饰类的各种关键字,包括publicprivateprotectedabstractfinalstatic等,并通过代码示例进行说明。

1. public关键字

作用

public关键字是访问修饰符中权限最大的一种,使用public修饰的类可以被任何其他类访问,无论这些类位于哪个包中。

代码示例

// 定义一个public类
public class PublicClass {public void display() {System.out.println("This is a public class.");}
}// 在另一个类中访问PublicClass
class Main {public static void main(String[] args) {PublicClass publicClass = new PublicClass();publicClass.display();}
}

在这里插入图片描述
在这里插入图片描述

2. private关键字

作用

private关键字是访问修饰符中权限最小的一种,使用private修饰的类只能在其所在的类内部被访问,通常用于内部类。

public class PublicClass {public void display() {System.out.println("This is a public class.");}private void run(){System.out.println("test");}
}

若在主类中用run方法会报错:
在这里插入图片描述

3. protected关键字

作用

protected关键字修饰的类可以被同一个包中的其他类访问,也可以被不同包中的子类访问。

代码示例

// 定义一个protected类
class ProtectedClass {protected void display() {System.out.println("This is a protected class.");}
}// 同一个包中的类访问ProtectedClass
class SamePackageClass {public static void main(String[] args) {ProtectedClass protectedClass = new ProtectedClass();protectedClass.display();}
}// 不同包中的子类访问ProtectedClass
class SubClass extends ProtectedClass {public void test() {display();}
}

4. abstract关键字

作用

abstract关键字用于定义抽象类,抽象类不能被实例化,它主要用于作为其他类的基类,提供一些通用的方法和属性。抽象类中可以包含抽象方法,抽象方法只有声明,没有实现,需要子类来实现。

代码示例

abstract class Animals {// 抽象方法,子类必须实现public abstract void makeSound();public abstract void makeSound(String sound);// 具体方法,子类可直接使用public void eat() {System.out.println("Animal is eating.");}
}

子类继承如下图所示:

在这里插入图片描述

5. final关键字

作用

final关键字用于修饰类时,表示该类不能被继承,即它是最终类。使用final修饰的类通常是一些不需要被扩展的工具类。

代码示例

// 定义一个final类
final class FinalClass {public void display() {System.out.println("This is a final class.");}
}// 尝试继承final类会导致编译错误
// class SubFinalClass extends FinalClass { }class Main {public static void main(String[] args) {FinalClass finalClass = new FinalClass();finalClass.display();}
}

**加粗样式**

6. static关键字

作用

static关键字用于修饰内部类时,表示该内部类是静态内部类。静态内部类不依赖于外部类的实例,可以直接通过外部类名来访问。

代码示例

class Outer {// 定义一个静态内部类static class StaticInnerClass {public void display() {System.out.println("This is a static inner class.");}}
}class Main {public static void main(String[] args) {// 直接通过外部类名访问静态内部类Outer.StaticInnerClass staticInnerClass = new Outer.StaticInnerClass();staticInnerClass.display();}
}

总结与思考

总结

  • 访问修饰符publicprivateprotected控制类的访问权限,从大到小依次为public > protected > private
  • 抽象与最终abstract用于定义抽象类,不能实例化,提供抽象方法供子类实现;final用于定义最终类,不能被继承。
  • 静态内部类static修饰的内部类不依赖于外部类的实例,可以直接通过外部类名访问。

思考

在实际编程中,合理使用这些修饰类的关键字可以提高代码的安全性、可维护性和可扩展性。例如,使用final类可以避免类被意外继承和修改,使用abstract类可以实现代码的复用和多态性。同时,正确使用访问修饰符可以控制类的访问权限,保护类的内部数据和方法不被外部随意访问。

http://www.dtcms.com/a/167666.html

相关文章:

  • windows中Python的pip工具换源的方法及其原理
  • RISC-V AIA SPEC学习(四)
  • 位运算切换大小写
  • C 语言 第五章 指针(5)
  • MATLAB 中zerophase函数——零相位响应
  • (B题|矿山数据处理问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
  • 「面白い」日本 课文详解
  • 2025东三省C题深圳杯C题数学建模挑战赛数模思路代码文章教学: 分布式能源接入配电网的风险分析
  • FreeSWITCH 发送 sip message 的 lua 程序
  • 【C语言常用字符串解析】
  • 解锁 C++26 的未来:从语言标准演进到实战突破
  • 负载均衡深度实践:基于Nginx+Keepalived的高可用方案与Zabbix监控设计
  • archlinux wine 运行windows程序
  • Python学习笔记(第三部分)
  • 人工智能对未来工作的影响
  • 三生原理的离散生成逻辑如何与复分析结合?
  • Python字典(dict)详解:从创建到操作全掌握
  • 产品设计三板斧与抓住事物本质的关键意义
  • 前端面试每日三题 - Day 21
  • 三元运算符与扩展运算符
  • 正则表达式:精准匹配,高效处理文本
  • (C题|社交媒体平台用户分析问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
  • jupyterlab建议安装的两个插件
  • 《软件设计师》复习笔记(11.1)——生命周期、CMM、开发模型
  • react学习笔记3——基于React脚手架
  • 数字智慧方案6166丨智慧医养结合大数据平台方案(50页PPT)(文末有下载方式)
  • yum源配置文件CentOS-Base.repo完整内容
  • Python数据分析课程实验-1
  • pycharm安装的插件怎么显示在右侧
  • 深入解析三大查找算法:线性查找、二分查找与哈希查找的原理与应用