① java中的一個小問題。aa1.i是什麼意思,代碼如下
classA//類
{
inti=10;//屬性
}
publicclasseclipse
{
publicstaticvoidmain(String[]args)
{
Aaa1=newA();//實例化對象
Aaa2=aa1;
aa1.i=60;//對象.屬性,這是基本的訪問方法
System.out.printf("%d ",aa2.i);
}
}
換個寫法:
classA//類
{
intnumber=10;//屬性
}
publicclasseclipse
{
publicstaticvoidmain(String[]args)
{
Aaa1=newA();//實例化對象
Aaa2=aa1;
aa1.number=60;//對象.屬性,這是基本的訪問方法
System.out.printf("%d ",aa2.number);
}
}
聲明變數的時候,一定要用有意義的單詞或拼音,別回頭看的時候給自己整暈了.現在,明白了嗎?
② java 枚舉數組的問題
枚舉enum是關鍵字,和private、public等一樣是關鍵字,不是enum類,
對於關鍵字,api沒有列出其介紹。
enumColor{//枚舉常量
red,green,black
}
Colorcolors[]=Color.values();
③ JAVA中this有什麼作用
this就是當前類(MyDate)的一個代號。
在setter()方法里最能體現。
例如:
public class Test{
int i;
public void setI(int i){
this.i = i;
}
}
setI()方法的參數名為i,Test類的屬性也為i,所以在setI()方法中必須用this指定具體是哪一個i。
this.i 就代表了當前類(Test)的屬性i。這樣才可以通過setI()方法為屬性初始化。
④ java class 變數怎麼比較
public abstract class Test {
public static void main(String arg[]) {
A a = new A();
A a1 = new A();
B b = new B();
Class aa = a.getClass();
Class aa1 = a1.getClass();
Class bb = b.getClass();
System.out.println(aa.equals(bb)); // false
System.out.println(aa.equals(aa1)); // true
System.out.println(aa == bb); // false
System.out.println(aa == aa1); // true
}
static class A {
}
static class B {
}
}
⑤ java,aa1.add(1.xs4);//這里錯誤,為什麼啊,怎麼改啊
aa1.add(1.xs4);
改成
aa1.add(xs4);
⑥ java 如何調用上上層父類的成員
bb繼承aa1的時候有把i=0繼承過來,但是你在bb中給他重新賦值為9了,因此i就是9,原先繼承過來的值不存在了,被你覆蓋掉了,後面cc繼承bb同理,因此你在cc中訪問到的只能是cc中重新賦值後的i=8,原先的0和9都不存在了
在繼承時同名屬性會被覆蓋的
⑦ java中字元型變數和整形變數怎麼相加
字元百串和整形相加最後會轉為字元串,說起來並不是相加的概念,就行字元串1+字元串2,是拼接。只是把整形轉換為字元串後拼接。這里需要注意字元串和多個整形相加的情況。
例:1
+
2
+
「aa」結度果是字元串「3aa」。第一個+就是整數相加,第二個是拼接字元串
例:「aa」
+
1
+
2結果是「aa12」。兩個+都是拼接字元串,第一步變成「aa1」+2,第二步是「aa12」
⑧ java中xml轉json少一個aa節點,如圖。
xml規范中,不允許2個相同節點並且同級別的數據出現,如果出現,則只獲取一個節點的數據,所以如果你一定要這么做的話,需要將第二個aa改名為aa1,然後即可實現數據同步。
⑨ a aa1 = a.geta這種表達在java裡面是什麼意思
Calendar calendar = Calendar.getInstance() ??
如果是這種模式的話,要麼是單例模式,要麼是抽象類
a類的構造函數外部不能調用,只能通過類內部提供的get方法獲得對象
⑩ java數字字母混合字元串排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sorter {
public static void main(String[] args) {
List<String> strs = new ArrayList<String>();
strs.add("aa2");
strs.add("aa100");
strs.add("aa1");
strs.add("aa10");
strs.add("aa78");
System.out.println(strs);
// 用了一個Comparetor
Comparator<String> com = new Comparator<String>() {
public int compare(String o1, String o2) {
// 前面3個IF主要是判空的
if (o1 == o2) {
return 0;
}
if (o1 == null) {
return 1;
}
if (o2 == null) {
return -1;
}
// 這里沒有做太多的判斷, index 代表第幾個開始是數字, 直接從後面遍歷
// 比如 aa11, 我們就會判斷從下標[2]開始為不是數字, 就直接截取 [2] 後面, 即11
int index = 0;
for (index = o1.length() - 1; index >= 0
&& (o1.charAt(index) >= '0' && o1.charAt(index) <= '9'); index--)
;
int num1 = Integer.parseInt(o1.substring(index + 1));
for (index = o2.length() - 1; index >= 0
&& (o2.charAt(index) >= '0' && o2.charAt(index) <= '9'); index--)
;
int num2 = Integer.parseInt(o2.substring(index + 1));
return num1 - num2;
}
};
Collections.sort(strs, com);
System.out.println(strs);
}
}