首页 > 其他分享 >@Inherited注解使用

@Inherited注解使用

时间:2023-12-26 12:12:50浏览次数:29  
标签:plasticene java int Inherited redis 使用 注解 com public

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface  ATable {
    public String name() default "";
}

  

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface BTable {
    public String name() default "";
}

  

@BTable
public class Sub  extends Super{

    private int subx;
    public int suby;
    private Sub()
    {
    }
    public Sub(int i){
    }
    private int subX(){
        return 0;
    }
    public int subY(){
        return 0;
    }
}
@ATable
public class Super {

    private int superx;

    public int supery;

    public Super() {

    }

    private int superX(){
        return 0;
    }

    public int superY(){
        return 0;
    }

}

  

public class TestMain {

    public static void main(String[] args) {

        Class<Sub> clazz = Sub.class;
        System.out.println("============================Field===========================");

        System.out.println(Arrays.toString(clazz.getFields()));

        System.out.println(Arrays.toString(clazz.getDeclaredFields())); //all + 自身
        System.out.println("============================Method===========================");
        System.out.println(Arrays.toString(clazz.getMethods())); //public + 继承
        //all + 自身
        System.out.println(Arrays.toString(clazz.getDeclaredMethods()));
        System.out.println("============================Constructor===========================");
        System.out.println(Arrays.toString(clazz.getConstructors()));
        System.out.println(Arrays.toString(clazz.getDeclaredConstructors()));
        System.out.println("============================AnnotatedElement===========================");
        //注解DBTable2是否存在于元素上
        System.out.println(clazz.isAnnotationPresent(BTable.class));
        //如果存在该元素的指定类型的注释DBTable2,则返回这些注释,否则返回 null。
        System.out.println(clazz.getAnnotation(BTable.class));
        //继承
        System.out.println(Arrays.toString(clazz.getAnnotations()));
        System.out.println(Arrays.toString(clazz.getDeclaredAnnotations())); ////自身




    }

}

  

============================Field===========================
[public int com.plasticene.boot.redis.annotation.Sub.suby, public int com.plasticene.boot.redis.annotation.Super.supery]
[private int com.plasticene.boot.redis.annotation.Sub.subx, public int com.plasticene.boot.redis.annotation.Sub.suby]
============================Method===========================
[public int com.plasticene.boot.redis.annotation.Sub.subY(), public int com.plasticene.boot.redis.annotation.Super.superY(), public final void java.lang.Object.wait() throws java.lang.InterruptedException, public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException, public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException, public boolean java.lang.Object.equals(java.lang.Object), public java.lang.String java.lang.Object.toString(), public native int java.lang.Object.hashCode(), public final native java.lang.Class java.lang.Object.getClass(), public final native void java.lang.Object.notify(), public final native void java.lang.Object.notifyAll()]
[private int com.plasticene.boot.redis.annotation.Sub.subX(), public int com.plasticene.boot.redis.annotation.Sub.subY()]
============================Constructor===========================
[public com.plasticene.boot.redis.annotation.Sub(int)]
[private com.plasticene.boot.redis.annotation.Sub(), public com.plasticene.boot.redis.annotation.Sub(int)]
============================AnnotatedElement===========================
true
@com.plasticene.boot.redis.annotation.BTable(name=)
[@com.plasticene.boot.redis.annotation.ATable(name=), @com.plasticene.boot.redis.annotation.BTable(name=)]
[@com.plasticene.boot.redis.annotation.BTable(name=)]

  

标签:plasticene,java,int,Inherited,redis,使用,注解,com,public
From: https://www.cnblogs.com/fuyuanming/p/17927849.html

相关文章

  • 汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点
    汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点RFID(射频识别技术)是非接触式自动识别技术,经常被使用于工业制造、物流管理、仓储物品盘点等领域。我们聊一聊在汽车零配件装配产线中使用和不使用RFID技术的优缺点在汽车零配件装配线使用RFID技术可以实现自动化识别,在生......
  • 使用 Flutter 制作地图应用
    使用Flutter制作地图应用本文主要介绍使用Flutter制作地图应用在本文中,我将向您展示如何使用Flutter向您的应用程序添加映射功能。对于本教程,您将不需要googlemapsAPI,因此您无需支付任何费用,因为我们将使用另一个免费API,所以不用多说,让我们深入研究它。依赖关系创建一个......
  • lottie 动画在 vue 中的使用
    前言最近我所负责的项目中,我采用了动画效果,并开始使用gif来实现。然而,在实践过程中,我发现gif格式的动画在git中出现了明显的锯齿感,这让我非常困扰。为了追求更完美的表现效果,我最终选择了lottie来实现我的动画需求。我深知动画效果的呈现对于用户体验至关重要,因此我非常......
  • 【flink番外篇】6、flink的WaterMark(介绍、基本使用、kafka的水印以及超出最大允许延
    Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基......
  • Android使用JNA体会心得
    JNA(JavaNativeAccess)技术也许大家用的很少,其实他也是java官方支持的,并且在github上不断更新着。它主要用在你不需要去编写c++代码,而只是直接使用编译好的独立so库。假设我们编译了独立的so库,此时我们也没有别的需求,仅仅调用so库方法使用功能,就是最好的选择。1.JNA的使用需要依赖......
  • frp远程服务器简单使用记录
     右键以管理员身份运行start.bat就OK了然后,访问的时候,基础地址是:http://47.98.102.138:35040webservice所在的电脑启动的时候,要在本地的41014端口来启动自己的服务实现两边都是访问服务器电脑,服务器电脑把webservice关联起来log是一些失败或者成功的日志 ......
  • Markdown编辑器使用笔记
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不......
  • 使用Go语言编写基本的HTTP服务器
    你是否曾经想过自己动手编写一个Web服务器?那种可以接收来自全世界的请求,然后回应一些“Hello,World!”之类的消息的服务器?如果你有这个想法,那么Go语言就是你的最佳伙伴。让我们一起踏上这段奇妙的探险之旅吧!首先,你需要安装Go语言环境。这就像给你的电脑安装一个魔法水晶球,让它拥有......
  • 使用Go处理HTTP GET请求
    你是否曾经想过,当你点击一个链接或在浏览器中输入一个网址时,背后发生了什么?其实,这是一个小小的数据冒险之旅。而今天,我们将使用Go语言作为我们的冒险伙伴,一起去探索如何处理HTTPGET请求的神秘世界!首先,我们要告诉Go语言,我们要处理的是HTTPGET请求。在Go中,我们可以使用net/http包来......
  • 使用Go处理HTTP POST请求
    在Web开发的世界里,HTTPPOST请求就像是一艘冒险船,载着客户端的请求数据,穿越网络的大海,最终到达我们的服务器。而今天,我们将使用Go语言作为我们的航海工具,一起去探索如何处理这些勇敢的探险家们!首先,要处理HTTPPOST请求,我们需要了解它的结构。POST请求通常包含一个请求体(requestbod......