Java基礎——自定義類的使用
我們可以把類分為兩種:
1.???????? 一種是java中已經定義好的類,如之前用過的Scanner類、Random類,這些我們直接拿過來用就可以了。
2.???????? 另一種是需要我們自己去定義的類,我們可以在類中定義多個方法和屬性來供我們實際的使用。
什麽是類呢?在java中,我們可以將現實生活中的事物通過描述來寫成代碼,我們可以自定義類來描述生活中的事物。比如我們可以將人進行描述,人的姓名,年齡,性別都是人的特有屬性,可以在自定義的類中通過變量來進行描述。人會吃飯,睡覺,學習等基本功能,我們可以在自定義的類中使用定義方法的方式來定義這些特有的功能。
定義類的格式
public class 類名
???????? 定義屬性:
事物的基本特征,可以通過變量來定義屬性,比如人的姓名:private String name = “張飛”;
修飾符 數據類型 變量名 = 值;
定義方法:
?? 用來定義該事物的具體功能的。
?? 修飾符 返回值類型 方法名(參數列表){
?
}
}
下面通過一段代碼來演示類怎麽定義:
/* 定義一個類,來描述手機這個事物 */ //定義一個手機類 public?class?Phone{ ?????????//定義手機的屬性內容:品牌、顏色、大小等 ?????????String?brand; ?????????String?color; ?????????double?size; }
/* 定義手機類的測試類,用來測試手機類中的功能 */ //定義測試類 public?class?PhoneTest{ ?????????public?static?void?main(String[]?args){ ???????????????????//創建手機類的對象 ???????????????????Phone?p?=?new?Phone(); ???????????????????//通過對象名.的方式來調用手機類中的屬性並進行賦值操作 ???????????????????p.brand?=?"一加3T"; ???????????????????p.color?=?"星空藍"; ???????????????????p.size?=?5; ???????????????????//獲取手機的信息 ???????????????????System.out.println("型號:"+p.brand+",顏色:"+p.color+",尺寸:"+p.size); ?????????} }
運行結果:
自定義類的練習
定義下面的類,並測試:
電飯鍋,包含屬性(品牌、容量大小、顏色等)
汽車,包含屬性(品牌、排量、類型等)
學生,包含屬性(姓名,年齡,性別等)
/* 需求:自定義定義電飯鍋的類 思路:1、定義電飯鍋類,類名ElectricBowl ???????????2、描述電飯鍋的屬性,也就是定義電飯鍋的屬性變量 ???????????3、定義測試類,給屬性賦值,並打印出來 */ //定義電飯鍋類 public?class?ElectricBowl{ ?????????//定義電飯鍋的屬性變量 ?????????String?brand; ?????????double?size; ?????????String?color; }
?
/* 需求:定義汽車類 思路:1、定義汽車類,類名Car ???????????2、描述汽車的屬性,也就是定義汽車的屬性變量 ???????????3、定義測試類,給屬性賦值,並打印出來 */ //定義汽車類 public?class?Car{ ?????????//描述汽車的屬性變量 ?????????String?brand; ?????????double?displacement; ?????????String?type; }
?
/* 定義學生類 */ public?class?Student{ ?????????//定義學生的屬性變量 ?????????String?name; ?????????int?age; ?????????char?sex; }
?
/* 定義測試類,同時定義三個事物(電飯鍋、汽車、學生)的測試類 */ //定義測試類 public?class?Test{ ?????????public?static?void?main(String[]?args){ ???????????????????//創建電飯鍋的對象 ???????????????????ElectricBowl?eb?=?new?ElectricBowl(); ???????????????????//對電飯鍋的屬性進行賦值 ???????????????????eb.brand?=?"美的"; ???????????????????eb.size?=?1.5; ???????????????????eb.color?=?"白色"; ???????????????????//打印電飯鍋的屬性內容 ???????????????????System.out.println("品牌:"+eb.brand+",容量大小:"+eb.size+",顏色:"+eb.color); ?????????????????? ???????????????????//創建汽車的對象 ???????????????????Car?c?=?new?Car(); ???????????????????//對汽車的屬性進行賦值 ???????????????????c.brand?=?"雪佛蘭"; ???????????????????c.displacement?=?2.0; ???????????????????c.type?=?"科邁羅"; ???????????????????//打印汽車的屬性內容 ???????????????????System.out.println("品牌:"+c.brand+",排量:"+c.displacement+",類型:"+c.type); ?????????????????? ???????????????????//創建學生對象 ???????????????????Student?s?=?new?Student(); ???????????????????//對學生的屬性內容進行賦值 ???????????????????s.name?=?"張麗"; ???????????????????s.age?=?20; ???????????????????s.sex?=?‘女‘; ???????????????????//打印學生的屬性內容 ???????????????????System.out.println("姓名:"+s.name+",年齡:"+s.age+",性別:"+s.sex); ?????????} }
運行結果:
ArrayList集合
ArrayList集合也屬於引用數據類型,它的定義步驟:
1.???????? 導入包:java.util 包
2.???????? 創建引用數據類型的變量,它的定義有點小區別
數據類型<存儲數據的數據類型 > 變量名 = new 數據類型<存儲數據的數據類型>();
比如要創建一個字符串類型的數據變量:ArrayList<String> arr = new ArrayList<String>;
3.???????? 通過變量名.方法的方式來調用。
註意:ArrayList集合只存儲引用數據類型,不存儲基本數據類型,8個基本數據類型有其對應的8個引用數據類型。
ArrayList集合中的一些方法使用
1、add() 向集合中添加元素
2、get() 獲取集合中的元素
3、size() 獲取集合的長度
下面的一段代碼演示了這些方法的使用:
/* ArrayList集合的方法使用 */ //導入ArrayList的包 import?java.util.ArrayList; public?class?ArrayListDemo{ ?????????public?static?void?main(String[]?args){ ???????????????????//創建ArrayList集合的字符串引用變量 ???????????????????ArrayList<String>?array?=?new?ArrayList<String>(); ???????????????????//調用add方法向集合中添加字符串 ???????????????????array.add("Hello"); ???????????????????array.add("Java"); ???????????????????array.add("你好"); ?????????????????? ???????????????????//調用方法獲取集合的長度 ???????????????????System.out.println("該集合的長度是:"+array.size()); ???????????????????//調用方法通過索引獲取集合內的元素內容 ???????????????????System.out.println(array.get(0)); ???????????????????System.out.println(array.get(1)); ???????????????????System.out.println(array.get(2)); ?????????} }
運行結果:
ArrayList集合遍歷
ArrayList集合的遍歷方式和數組遍歷方式差不多,都需要使用for循環,下面通過一段代碼來演示集合的遍歷:
/* ArrayList集合的遍歷 */ //導入包 import?java.util.ArrayList; public?class?ArrayList_1{ ?????????public?static?void?main(String[]?args){ ???????????????????//創建整數集合的引用型變量 ???????????????????ArrayList<Integer>?array?=?new?ArrayList<Integer>(); ???????????????????//給該集合添加數值 ???????????????????array.add(123); ???????????????????array.add(456); ???????????????????array.add(789); ???????????????????//通過遍歷來對該集合內的數據進行獲取:有兩個方法在裏面:size()、get() ???????????????????for(int?i=0;i<array.size();i++){ ????????????????????????????System.out.println(array.get(i)); ???????????????????} ?????????} }
ArrayList集合的其他一些方法使用
add(int 索引,要添加的元素)???? ???????? 給指定索引添加內容
set(int 索引,修改後的元素內容)????? 在指定索引處修改內容
remove(int 索引)????????? 刪除指定索引上的元素
clear()?????????????? 清空集合中的所有元素
下面的代碼演示了這些方法的使用情況:
/* ArrayList集合的其他方法 */ //導入包 import?java.util.ArrayList; public?class?ArrayList_2{ ?????????public?static?void?main(String[]?args){ ???????????????????//創建整數集合的引用類型變量 ???????????????????ArrayList<Integer>?array?=?new?ArrayList<Integer>(); ???????????????????//給集合添加內容 ??????????????????array.add(21); ???????????????????array.add(78); ???????????????????array.add(45); ???????????????????//給指定索引添加元素 ???????????????????array.add(1,8); ???????????????????//在指定索引出修改元素 ???????????????????array.set(0,6); ???????????????????//刪除指定索引上的內容 ???????????????????array.remove(1); ???????????????????//清空集合中的所有元素 ???????????????????array.clear(); ???????????????????//遍歷集合元素,並把元素進行獲取 ???????????????????for(int?i=0;i<array.size();i++){ ????????????????????????????System.out.println(array.get(i)); ???????????????????} ?????????} }
Java基礎——自定義類的使用