Java/Android Annotation注解/注入(三)
  TEZNKK3IfmPf 2023年11月14日 22 0
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.CONSTRUCTOR) //约束条件。只能限定注解构造函数。
@Retention(value = RetentionPolicy.RUNTIME) //运行时。
public @interface Info {
    int id() default 0;
    String name() default "zhang";
    String password() default "123";
}

 

public class User {

    @Info(id = 1, name = "zhangphil", password = "123456")
    public User () {

    }
}

 

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import java.lang.reflect.Constructor;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Constructor[] constructors = User.class.getConstructors();
        for (Constructor constructor : constructors) {
            if (constructor.isAnnotationPresent(Info.class)) {
                Info info = (Info) constructor.getAnnotation(Info.class);
                System.out.println(info.id());
                System.out.println(info.name());
                System.out.println(info.password());
            }
        }
    }
}

 

输出:

Java/Android Annotation注解/注入(三)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   17天前   40   0   0 java
TEZNKK3IfmPf