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

java6:枚举类和注解

一.枚举类和注解的整体框架

1.枚举类框架

在这里插入图片描述

2.注解框架

在这里插入图片描述

3.枚举类整体知识

/*
1.枚举类的第一种定义
定义私有化属性和私有化构造器
提供静态常量对象
2.enum定义枚举类
定义私有化属性和私有化构造器
直接提供对象即可
3.enum常用方法
values返回枚举类对象的数组
4.枚举类实现接口
枚举类实现接口可以让每一个对象都有独立的方法
*/

4.注解整体知识

/*
1.注解的作用:
代码中的特殊标记,可以被后期的反射来读取
2.注解的类型:
系统定义注解:@Overide 校验重载方法 @Deprecated标注该方法过时 @SuppressWarnings编译时抑制警告(也不是警告所有的编译错误)
自定义注解:提供String value()即可,通过反射读取注解
3.元注解(注解的注解)
Retention:生命周期
Target:表明注解能修饰的元素
Documented:javadoc后会保留
Inheriterd:子类自动拥有该注解
4.JDK8的新特性
可重复注解:即原来重复注解需要使用value数组,现在可以直接传入
类型注解:表明该注解可以使用在任何类型的注解中
*/

二.代码

1.枚举类

import org.junit.Test;

public class Test1 {
    @Test
    public void test1(){
        Weather a = Weather.spring;
        Weather b = Weather.summer;
        System.out.println(a);//得到春天
        Love a1 = Love.Love1;
        Love a2 = Love.Love2;
        System.out.println(a1);

        Love[] t = Love.values();//返回枚举类对象的数组
        t[0].show();
        t[1].show();
    }
}
class Weather{
    public static final Weather summer = new Weather("夏天");
    public static final Weather spring = new Weather("春天");
    private String name;
    private Weather(String name){
        this.name = name;
    }
    @Override
    public String toString() {
        return name;
    }
}
enum Love implements car{
    Love1(true){
        @Override
        public void show() {
            System.out.println("你开的是奔驰");
        }
    },Love2(false){
        @Override
        public void show() {
            System.out.println("你骑得自行车");
        }
    };
    private boolean islove;
    private Love(boolean islove){
        this.islove = islove;
    }

    @Override
    public String toString() {
        return islove+"";
    }
}
interface car{
    abstract  public void show();
}

2.注解

public class Test2 {
    @Test
    @SuppressWarnings("all")
    @Myinnovation("my")
    public void test1(){
        int t;
    }
}
@interface  Myinnovation{
    String value();

}

相关文章:

  • webpack5(高级)
  • Python从入门到数据分析第一篇—Python简介- Python介绍与初探
  • Element-UI+Vue实现主页布局——侧边栏用户布局(上)
  • java16-多线程
  • 数据分析可视化03 技术框架:数据可视化分析的两种武器
  • 模拟实现atoi
  • Go 和 C# 的速度比较来了
  • 谷歌Guava LoadingCache介绍
  • 第二章:微服务架构构建
  • Python 基础阶段
  • 我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面就没下文了
  • 【微搭低代码】JavaScript基础知识-变量定义及初始化
  • Linux常见指令(下)
  • Vue组件学习、组件通信
  • 西瓜书研读——第五章 神经网络:BP神经网络
  • Elasticsearch 参考指南(升级前重新索引)
  • JSONP原理
  • Laravel核心解读--Facades
  • MySQL几个简单SQL的优化
  • tab.js分享及浏览器兼容性问题汇总
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue总结
  • 前嗅ForeSpider教程:创建模板
  • 使用 @font-face
  • 听说你叫Java(二)–Servlet请求
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 温故知新之javascript面向对象
  • 详解NodeJs流之一
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 责任链模式的两种实现
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C语言)二分查找 超详细
  • (补)B+树一些思想
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (数据结构)顺序表的定义
  • (转)Linux下编译安装log4cxx
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .Net 6.0 处理跨域的方式
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core控制台应用程序初识
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 调用php,php 调用.net com组件 --
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)