package com.cn.service;
public interface China {
public static final String NATIONAL="China";
public static final String AUTHOR="老李";
public void sayChina();
public String sayHello(String name,int age);
}
package com.cn.model;
import com.cn.service.China;
public class Person implements China{
private String name;
private int age;
public Person(){
}
public Person(String name){
this.name=name;
}
public Person(String name,int age){
this(name);//调用有一个参数的构造函数
this.setAge(age);
}
public void sayChina() {
// TODO Auto-generated method stub
System.out.println("作者:"+AUTHOR+" ,国籍: "+NATIONAL);
}
public String sayHello(String name, int age) {
// TODO Auto-generated method stub
return name+",你好!我今年"+age+"岁了";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.cn.component;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class GetFieldDemo {
public static void main(String args[]) {
Class<?> c = null;
try {
c = Class.forName("com.cn.model.Person");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
{
Field fields[] = c.getDeclaredFields(); // 取得本类的属性,这里只是获取person类中自己的属性
for (int i = 0; i < fields.length; i++) {
Class<?> type = fields[i].getType();// 取得属性类型
int mo = fields[i].getModifiers();// 取得属性修饰符的数字
String priv = Modifier.toString(mo);// 取得属性的修饰符
System.out.println("本类属性:");
System.out.println(priv + " ");//
System.out.println(type.getName() + " ");// 输出属性类型名称
System.out.println(fields[i].getName());// 输出属性名称
}
// 输出结果:
// 本类属性:
// private
// java.lang.String
// name
// 本类属性:
// private
// int
// age
}
System.out.println("===========分隔符===========");
{
Field f[]=c.getFields();//getFields方法时,获取父类或者借口中的字段
for(int i=0;i<f.length;i++){
Class<?> c2=f[i].getType();
String typeName=c2.getName();//获取类型名称
int mo=f[i].getModifiers();
String priv=Modifier.toString(mo);
System.out.println("父类属性:");
System.out.println(priv+" ");
System.out.println(typeName+" ");
System.out.println(f[i].getName()+" ");
}
// ===========分隔符===========
// 父类属性:
// public static final
// java.lang.String
// NATIONAL
// 父类属性:
// public static final
// java.lang.String
// AUTHOR
}
}
}