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

Java 学习笔记:注解、泛型与 IO 流

目录

课程目标

Java 注解(Annotation)

1. 概念与作用

2. 自定义注解示例

3. JDK 内置注解

4.注释

Java 泛型(Generics)

1. 基本语法

2. 通配符与上下限

3. 常见应用场景

Java IO 流

1. 流的分类1.File文件类

2. 字节流与字符流

3. 经典示例:文件拷贝

总结与思考


课程目标

  1. 了解注解 —— 理解注解的基本概念及用途。

  2. 掌握泛型 —— 掌握泛型的使用、原理与通配符。

  3. 掌握 IO 流 —— 熟悉 Java IO 流的分类及常见操作。


Java 注解(Annotation)

1. 概念与作用

  • 注解 是 JDK5.0 引入的元数据机制,可在代码中对类、方法、字段、参数等位置进行标注。

  • 注解本身不直接改变程序逻辑,但可被编译器工具运行时读取并作相应处理,如代码检查、自动代码生成、依赖注入等。

2. 自定义注解示例

// 定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Inject {String value() default "";
}// 使用注解
public class Service {@Inject("myDao")private Dao dao;// ...
}

在运行时可通过反射扫描 @Inject 并为字段注入相应实例。

3. JDK 内置注解

  • @Override:标识方法重写。重写

  • @Deprecated:标识已过时,编译时报警。废弃

  • @SuppressWarnings("all"):抑制编译警告。

4.注释

注释:单行注释,多行注释,文档注释

/*** 学生类* 2025-05-24* v1.0*/
public class Student {/*** 学生姓名*/private String studentName;/*** 登录名称*/private String loginName;/*** 学生学习的方法* @param subject 科目*/public void study(String subject){//单行注释  ,多行注释//        System.out.println("哈哈哈哈");/* 以下2行代码:代表学习的内容 */System.out.println("Java");System.out.println("MYSQL");}
}

Java 泛型(Generics)

1. 基本语法

泛型:
  1. 泛型不特意的指定,默认编译器会转换为Object
  2. 泛型如果指定,编译器会在编译时将 泛型符号 擦除,替换为你指定的类
http://www.xdnf.cn/news/8733.html

相关文章:

  • 线性代数之张量计算,支撑AI算法的数学原理
  • 神经正切核推导(2)
  • DeepSeek联网Google搜索引擎
  • Windows端的C函数setlocale、printf与wprintf打印中文字符谜局小解
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第六篇:AXI4-Lite桥接设计
  • 金众诚业财一体化解决方案如何提升项目盈利能力?
  • 国际荐酒师(香港)协会亮相新西兰葡萄酒巡展深度参与赵凤仪大师班
  • 《数据结构》系列笔记|附扫描手写笔记 1.0开篇-数据结构在学什么?
  • 【八股战神篇】操作系统高频面试题
  • Markdown 到 LaTeX:Overleaf 学习笔记
  • 华为OD机试真题——欢乐周末 (2025B卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • 《深入探秘:从底层搭建Python微服务之FastAPI与Docker部署》
  • 在Linux下用GPIO模拟I2C通信(软件)
  • 前端流行框架Vue3教程:26. 异步组件
  • [医学影像 AI] 使用 PyTorch 和 MedicalZooPytorch 实现 3D 医学影像分割
  • xss-labs第15关
  • 历年华中科技大学保研上机真题
  • 【数据结构】图论探秘:广度优先遍历(BFS)与生成树的构建艺术
  • DAY35
  • JVM 的内存模型
  • 【MySQL系列】SQL 分组统计与排序
  • Vue-数组操作方法技术解析大纲
  • 【爬虫学习】Python数据采集进阶:从请求优化到解析技术实战
  • 解决论文中字体未嵌入的问题
  • Q2:如果 Channel 没有关闭,读取会一直阻塞吗?
  • leetcode654.最大二叉树:递归分治下的最大值索引定位与树构建
  • 显示docker桌面,vnc远程连接docker
  • Android应用中设置非系统默认语言(使用Kotlin)
  • 机械师安装ubantu双系统:三、GPT分区安装Ubantu
  • 【医学影像 AI】医学影像 AI 入门:PyTorch 基础与数据加载