`

java反射之访问成员变量

 
阅读更多

类:

public class Phone {   
    int size = 15;   
    public float price = 2111.2f;   
    protected boolean good = true;   
   // private String brand = "iphone";   
}

 

调用:

import java.lang.reflect.Field;   
public class Test {
    public static void main(String[] args) throws Exception{   
        Phone p = new Phone();   
        
        Class c = p.getClass();   
       
        Field[] declaredFields = c.getDeclaredFields();
        //获得所有成员变量   
        for(int i = 0; i < declaredFields.length; i++) {   
            //遍历所有成员变量   
            Field field = declaredFields[i];   

            //获取成员变量的名字   
            System.out.print("名称:" + field.getName()+"\t");   
            
            //获取成员变量类型   
            Class fieldType = field.getType();   
            System.out.println("类型为:" + fieldType);
            
            //返回指定对象上词field表示的值
            System.out.println("值为\t"+field.get(p));  
        }   
    }   
}

 

结果:

名称:size	类型为:int
值为	15
名称:price	类型为:float
值为	2111.2
名称:good	类型为:boolean
值为	true

 

注意:

   访问私有变量会抛出异常!

分享到:
评论

相关推荐

    java使用反射访问成员变量的值示例

    主要介绍了java使用反射访问成员变量的值,结合实例形式分析了java基于反射机制操作类成员变量相关实现技巧,需要的朋友可以参考下

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    //访问权限 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第6页。 3.2.4 使用反射机制的步骤 导入Jjava.lang.relfect 包需 遵循以下3三个步骤: 第一步是获得你想操作的类的 java.lang.Class ...

    Java开发技术大全(500个源代码).

    accessMember.java 访问成员变量示例 constructNoPara.java 无参数的构造方法 constructWithPara.java 带参数的构造方法 declareDefault.java 缺省访问权限的使用 declarePrivate.java 私有访问权限的使用 ...

    Java-Annotation手册.docx

    本文档主要讲述的是Java Annotation手册;Annotation提供了一条与程序元素关联任何信息或者任何元数据(metadata)的途径。...annotation类型是一种接口,能够通过java反射API的方式提供对其信息的访问。

    JAVA 标注annotation

    Java annotation 什么是java annotation?annotation 的7种标注类型。nnotation提供了一条与程序元素关联任何信息或者任何元数据(metadata...annotation类型是一种接口,能够通过java反射API的方式提供对其信息的访问。

    Java 基础核心总结 +经典算法大全.rar

    类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 ...

    java反射1

    1.获取成员变量 2.获取构造方法 3.获取成员方法 4.获取类名 1. 设置值 2. 获取值 3. 忽略访问权限修饰符的安全检查

    21天学通Java-由浅入深

    123 7.2.2 默认的访问级别 124 7.3 什么是封装 125 7.4 最终修饰符 127 7.4.1 final修饰对象类型的成员变量 127 7.4.2 final修饰基本类型的成员变量 129 7.4.3 final修饰的局部变量 131 7.4.4 final修饰的方法 132 ...

    java基础案例与开发详解案例源码全

    15.2.4 访问成员变量的值421 15.2.5 操作数组422 15.3 反射与动态代理424 15.3.1 静态代理424 15.3.2 动态代理426 15.4 本章练习427 第16章 16.1 注解概述430 16.2 JDK内置的基本注解类型430 16.2.1 重写Override430...

    reflect.rar

    Java反射详解——一篇文章读懂java反射机制(源码) 包含内容: 1. 非静态成员和非静态方法的访问和调用 1.1 关于构造方法 1.2 关于成员变量 1.3 关于方法调用 2. 静态成员和静态方法的访问和调用 2.1 关于...

    疯狂JAVA讲义

    5.3.2 成员变量的初始化和内存中的运行机制 128 5.3.3 局部变量的初始化和内存中的运行机制 130 5.3.4 变量的使用规则 130 5.4 隐藏和封装 132 5.4.1 理解封装 132 5.4.2 使用访问控制符 132 5.4.3 package和...

    java 编程入门思考

    5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的...

    Java初学者入门教学

    5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的...

    java联想(中文)

    5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍  《java jdk 7学习笔记》是作者多年来教学实践经验的总结...

    Java语言程序设计的课程设计项目——利用Java实现地球系动画完整实现实例(第3部分).pdf

    注意: 1) 数组类是一个空类(自身没有声明任何成员变量、成员方法、构造函数和 Annotation 等),编译器其实是对 Array.length()这样的语句做了特殊的处理,直接编译成 arraylength 指令。 2) 相比 C/C++中的数组...

    JAVA_Thinking in Java

    5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的...

    Thinking in Java简体中文(全)

    5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的...

    JAVA面试题最全集

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中...

    corejava培训文档

    6.3. 成员变量和局部变量 6.4. 成员方法 6.5. This关键字 6.6. 访问控制符 6.7. 构造方法 6.8. 数据和方法的隐藏―――封装 6.9. 方法的重载 7. 六 高级语言特性 7.1. 封装 (encapsulation) 7.2. 继承 ...

Global site tag (gtag.js) - Google Analytics