首页 > 编程语言 > 详细

java基础-反射

时间:2021-02-28 00:25:12      阅读:19      评论:0      收藏:0      [点我收藏+]

1.关于获取某个类里的参数、方法问题。

(1)如果反参类型是Objec类型,拿到的类中没有获取类的参数、方法、构造函数这些方法。

Object是所有类的根类,是具体的一个类,使用的时候可能是需要类型强制转换的,但是用T ?等这些的话,在实际用之前类型就已经确定了,不需要强制转换。

技术分享图片

(2)使用泛型作为返回类型

  关于class<T>和class<?>的区别:

    ? 表示不确定的java类型。 
    T 表示java类型。
    K V 分别代表java键值中的Key Value。
    E 代表Element。

2.获取某类里的属性:
(1)
@Data
@Entity
public class Reuser {
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	
	@Column
	private String username;
	
	@Column
	private String name;
	
	@Column
	private Integer age;
	
	@Column
	private BigDecimal balance;
	
	
}

  (2)

public class Test {

    public static void main(String args[]) {
        Reuser user = new Reuser();
//        System.out.print("user对象的类是:"+user.getClass());
//        Object userClass = user.getClass();
        Class<? extends Reuser> userClass = user.getClass();
        Field[] fields = userClass.getFields();
        for(Field filed: fields) {
            System.out.println("user对象的属性有"+filed);    
        }
        
    }
}

运行Test,java,控制台什么也没输出,这是什么原因导致的呢?

  get 

 

 

参考资料:1.https://www.cnblogs.com/skyislimit/p/5665853.html

 

java基础-反射

原文:https://www.cnblogs.com/zhaomin08240115/p/14457706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!