计算机程序高级应用开发

李月峰、秦晓燕、王咏梅、郭雨欣、侯娜、谢添娇等

目录

  • 1 项目1 Java语言初识
    • 1.1 任务1.1 Java语言概述
    • 1.2 任务1.2 Java开发环境搭建
    • 1.3 任务1.3 Java程序的入门案例
    • 1.4 任务1.4 拓展实施任务
  • 2 项目2 Java程序基础
    • 2.1 任务2.1 Java语言的基础语法
    • 2.2 任务2.2 Java语言的流程控制
    • 2.3 任务2.3 拓展实践任务
  • 3 项目3 数组与字符串的处理
    • 3.1 任务3.1 Java语言的数组
    • 3.2 任务3.2 Java语言的字符串
    • 3.3 任务3.3 拓展实践任务
  • 4 项目4 Java面向对象程序基础
    • 4.1 任务4.1 类的封装
    • 4.2 任务4.2 修饰符的使用
    • 4.3 任务4.3 Java语言常用的系统类
    • 4.4 任务4.4 拓展实践任务
  • 5 项目5 Java面向对象程序进阶
    • 5.1 任务5.1 类的继承
    • 5.2 任务5.2 类的多态
    • 5.3 任务5.3 内部类和匿名类
    • 5.4 任务5.4 接口的使用
    • 5.5 任务5.5 包的访问
    • 5.6 任务5.6 拓展实践任务
  • 6 项目6 Java程序的异常处理
    • 6.1 任务6.1 异常处理简介
    • 6.2 任务6.2 捕获异常
    • 6.3 任务6.3 抛出异常
    • 6.4 任务6.4 自定义异常
    • 6.5 任务6.5 拓展实践任务
  • 7 项目7 Java程序图形用户界面开发
    • 7.1 任务7.1 图形用户界面开发简介
    • 7.2 任务7.2 容器的处理
    • 7.3 任务7.3 基本组件
    • 7.4 任务7.4 菜单与工具栏
    • 7.5 任务7.5 拓展实践任务
  • 8 项目8 Java程序的事件处理
    • 8.1 任务8.1 事件监听与处理
    • 8.2 任务8.2 常用处理事件
    • 8.3 任务8.3 拓展实践任务
  • 9 项目9 Java程序的数据库开发
    • 9.1 任务9.1 数据库访问技术概述
    • 9.2 任务9.2 应用JDBC访问数据库
    • 9.3 任务9.3 常见数据库访问操作
    • 9.4 任务9.4 拓展实践任务
  • 10 项目10 Java程序的文件处理
    • 10.1 任务10.1 文件处理简介
    • 10.2 任务10.2 文件的输入/输出处理
    • 10.3 任务10.3 拓展实践任务
  • 11 项目11 Java程序的多线程处理
    • 11.1 任务11.1 线程概述
    • 11.2 任务11.2 线程的创建
    • 11.3 任务11.3 多线程的控制
    • 11.4 任务11.4 拓展实践任务
  • 12 项目12 综合案例项目开发
    • 12.1 任务12.1 项目的分析与设计
    • 12.2 任务12.2 项目的功能实现
    • 12.3 任务12.3 拓展实践任务
任务4.2 修饰符的使用
  • 1 知识要点&讲解
  • 2 案例讲解&讨论
  • 3 课后练习

【知识要求】

Java 语言中的修饰符(Modifiers)是用来修饰类、方法、变量的关键字,它们可以控制访问权限、行为特性等。修饰符主要分为访问控制修饰符和非访问控制修饰符两大类。

1. 访问控制修饰符

访问控制修饰符用于控制类、方法和变量的可见性,主要包括:

private(私有):仅本类内部可访问,最严格的访问级别,通常用于隐藏数据,保护类的封装性。

default(默认,即不写修饰符):在同一个包内可访问,适用于包级别的共享。

protected(受保护):在同一个包或子类中可访问,主要用于继承时允许子类访问父类的成员。

public(公共):对所有类可访问,最开放的访问级别,通常用于对外提供公共接口的方法和类。

访问级别总结




2. 非访问控制修饰符

非访问控制修饰符用于修改类、方法、变量的特性,主要包括以下几类:

(1)类相关修饰符

final:最终类,不能被继承,常用于定义不可扩展的工具类或安全性较高的类。

abstract:抽象类,不能实例化,通常用于被子类继承,并且包含抽象方法。

(2)方法相关修饰符

final:最终方法,子类不能重写该方法,通常用于防止关键方法被修改。

abstract:抽象方法,只定义方法不提供实现,必须由子类实现,仅能在抽象类中使用。

static:静态方法,属于类级别的方法,而不是实例方法,可以直接通过类名调用。

synchronized:用于线程同步,确保多个线程不会同时执行该方法,防止数据不一致问题。

native:表示该方法是本地方法,通常用于调用 C/C++ 代码。

(3)变量相关修饰符

final:常量,一旦赋值就不能再修改,通常用于定义不可变的数据。

static:类变量,属于类本身,多个对象共享同一份数据,通常用于存储类级别的共享信息。

transient:短暂变量,用于序列化时被忽略,不会被序列化到文件中。

volatile:用于多线程编程,确保变量的可见性,防止线程缓存导致数据不一致。

3. 修饰符组合使用

Java 中可以将多个修饰符组合使用,如:

public static final(常见于定义全局常量)

private static(常见于定义单例模式的实例变量)

protected abstract(常见于父类定义模板方法,要求子类必须实现)

但有些修饰符不能组合使用,例如:

abstract 和 final 不能一起用(因为 final 不能被继承,而 abstract 需要被继承)。

abstract 方法不能是 static(因为 abstract 需要子类实现,而 static 不能被子类重写)。

Java 的修饰符提供了强大的访问控制和功能特性,合理使用修饰符有助于提升代码的安全性、可维护性和扩展性。

【视频讲解】