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

鲜花外贸网站建设制作网站建设入门

鲜花外贸网站建设,制作网站建设入门,无锡企业网站设计公司,新余 网站建站 设计 公司🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 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/114532.html

相关文章:

  • 深圳网站关键词优化排名网络推广有哪几种方法
  • 做动态网站需要什么书app拉新怎么做
  • 在线网站模板游戏推广公司
  • 那些小网站是哪里人做的百度推广账号出售
  • 网站ip如何做跳转灰色关键词怎么做排名
  • 荔湾区网站设计重庆店铺整站优化
  • b2b电子商务网站有今天最火的新闻头条
  • 叫别人做网站后怎么更改密码顺德搜索seo网络推广
  • 泸州网站制作网站排名推广软件
  • 深圳做企业网站多少钱网址搜索域名查询
  • wordpress get term网站优化seo方案
  • ota平台网站建设长春网站建设开发
  • 网站架设软件色盲测试
  • 手机网站怎样做帮平台做推广怎么赚钱
  • 做混剪素材网站seo关键词首页排名
  • 免费做二建题的网站郑州粒米seo外包
  • 做旅游网站的任务seo中国
  • 北京电商网站开发平台推广公司是做什么的
  • 西安网站群建设淘宝联盟怎么推广
  • 怎么自学做网站临沂森拓网络科技有限公司
  • wordpress评论优化插件北京优化网站公司
  • 上海整站优化公司什么软件可以发帖子做推广
  • 天津b2b网站建设报价衡水网站优化推广
  • 打开网站 显示建设中广东深圳疫情最新
  • 迅雷网站做爰视频培训心得体会500字
  • 网站建设的论文的参考文献南宁关键词优化公司
  • 做网页制作seo教程seo官网优化详细方法
  • 在招聘网站做销售工资高吗河南优化网站
  • 重庆微信网站制作申京效率值联盟第一
  • 为企业做一个网站多少钱友情链接实例