首先我們來看一個類實例
import java.util.ArrayList; public class learnToStringBuilder { private Integer age; private String name; private ArrayList<String> friends; public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ArrayList<String> getFriends() { return friends; } public void setFriends(ArrayList<String> friends) { this.friends = friends; } @Override public String toString() { return "learnToStringBuilder [age=" + age + ", friends=" + friends + ", name=" + name + ", toString()=" + super.toString() + "]"; } }
接下來我們要來輸出類中的所有域的類型及域的字段
import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; public class testToStringBuider { public static void main(String args[]) { learnToStringBuilder lea = new learnToStringBuilder(); lea.setAge(22); lea.setName("lin"); lea.setFriends(new ArrayList<String>(Arrays.asList("A", "B", "C", "D"))); Class<learnToStringBuilder> c = learnToStringBuilder.class; //用一個域數組來獲得類中所有域(包括私有的) Field[] fields = c.getDeclaredFields(); for(Field ff:fields){ System.out.println(ff);//屬性的類型和字段 System.out.println(ff.getType());//屬性類型 } System.out.println(c.getName());//獲得類名 } }
與之類似的還有類方法提取器,用Method[] 接受 用 getMethods獲取,方法同上
四種權限修飾符 範圍 public protected (default) private 同一個類 YES YES YES YES 同一個包 YES YES YES NO 不同包子類 YES YES NO
System類 java.lang.System public final class System extends Object System 類包含一些有用的類字段和方法。它不能被實例化。 在 System 類提供的設施中,有
Java Reference即Java的引用機制。當用類創建一個對象時,類中的成員變量被分配內存空間,這些內存空間稱爲該對象的實體,而對象中存放着引用,以確保實體由該對象操作使用。 Java的所有對象都是引用,類似於C和C++中的指針。J