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

厦门商务网站建设杭州网站seo价格

厦门商务网站建设,杭州网站seo价格,鲜花网站建设教程,租房网站那些地图区域统计怎么做的🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 JavaSE核心知识点03高级特性03-05&#xff0…

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

    • JavaSE核心知识点03高级特性03-05(注解)
      • 一、注解是什么?
        • 类比理解:
      • 二、Java 内置的常用注解
        • 1. `@Override`
        • 2. `@Deprecated`
        • 3. `@SuppressWarnings`
      • 三、如何自定义注解?
        • 1. 定义注解
        • 2. 元注解(Meta-Annotation)
      • 四、注解的处理方式
        • 1. 反射处理(运行时)
        • 2. 编译时处理(如 Lombok)
      • 五、实际应用场景
      • 六、注意事项
      • 七、总结


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

在这里插入图片描述

JavaSE核心知识点03高级特性03-05(注解)

好的!我来为你详细讲解 Java 中的注解(Annotation),内容会循序渐进,尽量通俗易懂。以下是完整的学习路径:


一、注解是什么?

注解(Annotation)是 Java 中的一种元数据(描述数据的数据),它本身不直接影响代码逻辑,但可以为代码提供额外的信息。类似于“标签”,用来标记代码的特殊行为或配置。

类比理解:
  • 想象你在一本书上贴便利贴,便利贴本身不改变书的内容,但能提醒你注意某些部分(如“重点”、“待办”)。注解的作用类似。

二、Java 内置的常用注解

Java 提供了一些内置注解,以下是几个常见的:

1. @Override
  • 作用:标记方法是为了覆盖父类或接口中的方法。
  • 示例
    @Override
    public String toString() {return "This is a custom toString()";
    }
    
  • 用途:帮助编译器检查是否正确覆盖了父类方法(避免拼写错误)。
2. @Deprecated
  • 作用:标记方法、类或字段已过时,不推荐使用。
  • 示例
    @Deprecated
    public void oldMethod() {// 过时的方法
    }
    
  • 效果:调用该方法时,编译器会生成警告。
3. @SuppressWarnings
  • 作用:抑制编译器警告。
  • 示例
    @SuppressWarnings("unchecked")
    public void someMethod() {List list = new ArrayList(); // 这里会有“未检查类型”的警告,但被注解抑制
    }
    

三、如何自定义注解?

你可以创建自己的注解,以下是步骤:

1. 定义注解

使用 @interface 关键字:

// 定义一个名为 MyAnnotation 的注解
public @interface MyAnnotation {String value() default ""; // 注解的参数int priority() default 0;
}
2. 元注解(Meta-Annotation)

元注解是用于修饰注解的注解,用来定义注解的行为:

元注解作用
@Target指定注解可以应用的位置(如类、方法、字段等)。
@Retention指定注解的保留策略(源码级、编译期、运行时)。
@Documented注解会被包含在 Javadoc 中。
@Inherited子类可以继承父类的注解。

示例:定义一个用于方法的运行时注解

import java.lang.annotation.*;@Target(ElementType.METHOD) // 只能用在方法上
@Retention(RetentionPolicy.RUNTIME) // 运行时保留
public @interface MyMethodAnnotation {String description() default "默认描述";boolean enabled() default true;
}

四、注解的处理方式

注解本身没有行为,需要通过反射或编译时处理来触发逻辑。

1. 反射处理(运行时)

通过反射读取注解信息:

public class Test {@MyMethodAnnotation(description = "这是一个测试方法")public void testMethod() {// 方法内容}public static void main(String[] args) throws NoSuchMethodException {Method method = Test.class.getMethod("testMethod");if (method.isAnnotationPresent(MyMethodAnnotation.class)) {MyMethodAnnotation annotation = method.getAnnotation(MyMethodAnnotation.class);System.out.println("描述:" + annotation.description()); // 输出:这是一个测试方法System.out.println("是否启用:" + annotation.enabled()); // 输出:true}}
}
2. 编译时处理(如 Lombok)

通过注解处理器(Annotation Processing Tool, APT)在编译时生成代码。例如 Lombok 的 @Data 注解会自动生成 getter/setter。


五、实际应用场景

  1. 框架配置(如 Spring):

    @Service
    public class UserService {@Autowiredprivate UserRepository userRepository;
    }
    
  2. 单元测试(如 JUnit):

    @Test
    public void testAddition() {assertEquals(4, 2 + 2);
    }
    
  3. 序列化/反序列化(如 Jackson):

    public class User {@JsonProperty("user_name")private String userName;
    }
    

六、注意事项

  1. 保留策略:如果需要在运行时获取注解,必须设置 @Retention(RetentionPolicy.RUNTIME)
  2. 目标范围:用 @Target 明确注解的应用位置(如 ElementType.TYPE 表示类)。
  3. 默认值:注解参数需定义默认值(如 default ""),否则使用时必须显式赋值。
  4. 参数类型限制:注解的参数只能是基本类型、String、Class、枚举或数组。

七、总结

  • 注解的作用:提供元数据,辅助代码分析或配置。
  • 核心步骤:定义注解 → 用元注解修饰 → 处理注解逻辑(反射/APT)。
  • 学习建议:从简单注解开始,尝试结合反射实现功能(如自定义日志注解)。

动手练习:

  1. 定义一个注解 @LogExecutionTime,用于记录方法的执行时间。
  2. 通过反射在方法执行前后计算时间差。

如果有疑问,可以随时提出!



📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.dtcms.com/wzjs/44015.html

相关文章:

  • 二手网站建设618网络营销策划方案
  • 免费网站开发百度指数的搜索指数
  • 网站集约化建设讲话稿处理事件seo软件
  • 网站建设 淄博沧州网站运营公司
  • 自家电脑做网站友链交换有什么作用
  • php网站建设模板重庆seo主管
  • 网站未做安全隐患检测怎么拿shell网上推广平台有哪些
  • 网站 备案 换空间湖北搜索引擎优化
  • 衡阳做淘宝网站建设四年级小新闻50字左右
  • 400网站建设价格关键词指数
  • 临沂网站建设培训班培训机构最新消息
  • wordpress云建站系统我的百度购物订单
  • wordpress加密视频seo是什么姓
  • 培训学校类网站建设方案网店推广方式有哪些
  • 做多语言网站多少钱google搜索引擎入口下载
  • 手机网站如何制作手机百度官网
  • 网站视频如何下载铜川网络推广
  • 玉环网站建设app001推广平台官网
  • 网站建设的基本技术步骤seo提升排名技巧
  • 天津个人做网站steam交易链接在哪里
  • 响应式网站 分辨率女排联赛排名
  • 佛山自己网站建设怎么被百度收录
  • 中山网站制作公司手机网站排名优化
  • 王烨烨seo新方法
  • 建设网站翻译英文翻译一键优化表格
  • 山东做网站网站排名点击工具
  • 网站开发编辑器百度小说风云榜排名
  • 网站建设多少钱个人百度知道答题赚钱
  • 网站如何判断做的好不好网站建设服务
  • 昆明做网站排名快手推广网站