java屬性值
① java中的實例屬性是什麼啊
實例屬性即成員變數,成員變數不屬於任何方法,是屬於類的變數,可以不初始化,有默認的初始值,如String的是null,int的是0。
還有一種叫局部變數,需要顯示的初始化。
public class Test
{
int age;
String name;
Test(int age,String name)
{
this.age = age;
this.name = name;
}
}
② java 遍歷 類屬性的屬性值
用反射,代碼你可以參考下面的:
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Field[] field = model.getClass().getDeclaredFields(); //獲取實體類的所有屬性,返回Field數組
for(int j=0 ; j<field.length ; j++){ //遍歷所有屬性
String name = field[j].getName(); //獲取屬性的名字
System.out.println("attribute name:"+name);
String type = field[j].getGenericType().toString(); //獲取屬性的類型
if(type.equals("class java.lang.String")){ //如果type是類類型,則前麵包含"class ",後面跟類名
Method m = model.getClass().getMethod("get" + name.substring(0,1).toUpperCase() + name.substring(1) );
String value = (String) m.invoke(model); //調用getter方法獲取屬性值
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Integer")){
Method m = model.getClass().getMethod("get" + name.substring(0,1).toUpperCase() + name.substring(1) );
Integer value = (Integer) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Short")){
Method m = model.getClass().getMethod("get" + name.substring(0,1).toUpperCase() + name.substring(1) );
Short value = (Short) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value); }
}
if(type.equals("class java.lang.Double")){
Method m = model.getClass().getMethod("get" + name.substring(0,1).toUpperCase() + name.substring(1) );
Double value = (Double) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Boolean")){
Method m = model.getClass().getMethod("get"+name);
Boolean value = (Boolean) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.util.Date")){
Method m = model.getClass().getMethod("get"+name);
Date value = (Date) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value.toLocaleString());
}
}
}
③ java 中引用值和屬性值(實際值) 提問
解釋如下
publicstaticvoidmain(String[]args){
//首先要明白一個問題,Integer為對象
//使用==(雙等於)的比較為對象引用地址的比較,而不是對象所代表值的比較
//當Integer的對象值在-128~127之間時,多個對象會引用同一個數據,
//即引用地址是相同的,而不在這個范圍內的值則不會
//比較范圍內的值-128~127
Integera1=100;
Integerb1=100;
System.out.println(a1==b1);//true
//比較范圍外的值
Integera2=200;
Integerb2=200;
System.out.println(a2==b2);//false不在范圍內
//new對象比較
Integera3=newInteger(100);
Integerb3=newInteger(100);
System.out.println(a3==b3);//false使用的為new關鍵字
//可以看出,如果是自動裝包即:Integera=3;
//Java在-128~127這個數值之間會自動引用同一個地址
//而使用new關鍵字創建的對象則不會進行
//如果要比較值的話可以這樣
//1.使用equals方法
System.out.println(a2.equals(b2));
//2.使用intValue()方法
System.out.println(a2.intValue()==b2.intValue());
}
④ java屬性
class Student {
String name; // Student對象的屬性名字
int age;// Student對象 的屬性學生年齡
Student (String name,int age) {
this.name=name;
this.age=age;
} //構造方法,為實例變數(屬性)賦初值
void sleep() {
System.out.println( "have a rest");
} //Student對象的方法睡覺
}
pubic class Test {
public static void main(String[] args) {
Student s = new Student("Tom",16); //通過new調用Student的構造方法創建了一個Student對象
s.sleep(); //調用Student對象的睡覺方法
}
}
⑤ java中如何用字元串取屬性
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectTest {
public static void main(String[] args) throws Exception {
User user = new User();
Field field = user.getClass().getField("name");
System.out.println(field.get(user));
Method method = user.getClass().getMethod("getPassword");
System.out.println(method.invoke(user));
}
}
class User {
public String name = "admin";
public String getPassword() {
return "123456";
}
}
可以利用JAVA「反射」,看看我上面的例子吧。
⑥ 關於JAVA屬性
void聲明的方法沒有返回值,static聲明的方法是靜態的
main是程序的入口,基本格式為:
public static void main(String []ages){}
括弧裡面的是java中Object類定義的數組.
如果你設計的是一個類,抽象類或者是介面,就不必有main主函數,如果你想實現或者運行程序,必須有main主函數
可以下載java的chm和html幫助文檔,裡面介紹的很詳細.
http://java.chinaitlab.com/tools/39955.html
http://java.sun.com/j2se/1.5.0/download.jsp
⑦ java 怎麼定義屬性
定義屬性的語法格式如下:
[修飾符] 屬性類型 屬性名 [=默認值]
屬性語法格式的詳細說明如下:
1、修飾符:修飾符可以省略,也可以是public、protected、private、static、final,其中public、protected、private三個最多隻能出現其中之一,可以與static、final組合起來修飾屬性。
2、屬性類型:屬性類型可以是Java語言允許的任何數據類型,包括基本類型和現在介紹的引用類型。
3、屬性名:屬性名則只要是一個合法的標識符即可,但這只是從語法角度來說的;如果從程序可讀性角度來看,屬性名應該由一個或多個有意義的單詞連綴而成,第一個單詞首字母小寫,後面每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不需使用任何分隔符。
4、默認值:定義屬性還可以定義一個可選的默認值。
提示:屬性是一種比較傳統、也比較符合漢語習慣的說法,在Java的官方說法里,屬性被稱為Field,因此有的地方也把屬性翻譯為欄位。
定義方法的語法格式如下:
[修飾符] 方法返回值類型 方法么(形參列表)
{
//由零條到多條可執行性語句組成的方法體
}
⑧ java成員屬性值的問題
class A{
public void Ass(){
B b = new B();
b.setName("qwe");
b.setAge(123);
}
上面這段明顯生成了另外的對象b,話說為什麼你要這樣做?
⑨ java中的屬性是什麼意思
屬性就是 這個類定義的一個成員 變數 舉個例子 就是一個人的胳膊和腿歡迎來我們的java世界ourjavasky 針對層次不同量身學習java技術 www.ourjavasky.cn
⑩ java中 類的成員屬性在定義時就給賦值了,那這個值存在哪裡
沒被實例化前不就是class文件嗎,實例時才會根據class文件這些信息分配到內存