本文主要是介绍夜光 带你走进 Java基础编程实战(十四 反射),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
夜光序言:
夜光,我同你最大的差别,就是在乎一个人的时候,天知地知,我知,他人不知~~
正文:
第一个类:
package com.Genius.sixteen;
/*夜光:这里我们了解一下反射~~
* 反射机制可以为程序提供动态的运行能力
* 利用反射机制可以在运行时对程序进行动态的控制
* java提供有一套专门的工具类,帮助我们在程序中使用反射特性~~
* 开发使用反射的程序所需要的工具类在java.lang.reflect包中
*
* 这个程序使用Class类
*
* */
public class ClassTest {
public static void main(String[] args) {
try{
//加载指定的类
Class sc = Class.forName("com.Genius.sixteen.Son");
Son myson = (Son)sc.newInstance();
//调用创建对象方法~~夜光
System.out.println("调用创建对象的方法:");
myson.methodSonProtected();
myson.methodSonPublic();
myson.methodFather();
//夜光:加载类的详细信息~~
System.out.println(sc.getName()+"自己声明了"+sc.getDeclaredFields().length
+"个成员变量");
System.out.println(sc.getName()+"类对外公布的方法有"+sc.getMethods().length
+"个");
}catch (Exception e) {
e.printStackTrace();
}
}
}
class Father
{
//父类中的公共成员变量
public int memberFather;
//父类中的公共方法
public void methodFather()
{
System.out.println("夜光:这是从父类中继承而来的方法methodFather");
}
}
第二个类:
package com.Genius.sixteen;
public class Son extends Father
{
//子类的额公共成员变量
public int memberSonPublic;
//子类的私有成员变量
private int memberSonPrivate;
//子类的公共方法
public void methodSonPublic()
{
System.out.println("这是子类自己的方法methodSonPublic");
}
public void methodSonProtected()
{
System.out.println("这是子类自己的方法methodSonProtected");
}
}
==========================
反射
package com.Genius.sixteen;
public class Filed {
/*夜光:
* java反射使用filed类表示成员变量
* filed类提供了动态访问成员变量的API
* class类获取成员变量API:
* 1、getfiled
* 2、getfileds
* 3、getDeclareFiled(String name)
* 4、getDeclaredFileds()
*
* filed类比较常用的方法如下:
* 1、setAccessible
* 2、getType()
* 3、getName()
* 4、set(Object obj,Object value)
* 5、getModifiers
*
*
* java反射使用Method类表示成员方法~
* Method类提供了获取成员方法信息和调用成员方法API
*
*
*
*
*/
}
=============================================================
这篇关于夜光 带你走进 Java基础编程实战(十四 反射)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!