第四周课程总结
實驗二java簡單類與對象
一實驗目的
掌握類的定義,熟悉屬性、構造函數、方法的作用,掌握用類作為類型聲明變量和方法返回值;
理解類和對象的區別,掌握構造函數的使用,熟悉通過對象名引用實例的方法和屬性;
理解static修飾付對類、類成員變量及類方法的影響。
實驗內容
寫一個名為Rectangle的類表示矩形。其屬性包括寬width、高height和顏色color,width和height都是double型的,而color則是String類型的。要求該類具有:
1) 使用構造函數完成各屬性的初始賦值
(2) 使用get…()和set…()的形式完成屬性的訪問及修改
(3) 提供計算面積的getArea()方法和計算周長的getLength()方法
實驗代碼
class Rectangle {private double width;private double height;private String color;public Rectangle(double width,double height,String color){this.setWidth(width);this.setHeight(height);this.setColor(color);}public void tell(){System.out.println("寬:"+width+" "+"高:"+height+" "+"顏色:"+color);}public double getWidth(){return width;}public double getHeight(){return height;}public String getColor(){return color;}public void setWidth(double width){this.width=width;}public void setHeight(double height){this.height=height;}public void setColor(String color) {this.color=color;}public void getArea(){System.out.println("面積為:"+(width*height));}public void getLength(){System.out.println("周長為:"+(width+height)*2);}} public class juxing{public static void main(String[] args){Rectangle per=new Rectangle(5,10,"紅色");per.tell();per.getArea();per.getLength();} }實驗結果
2,銀行的賬戶記錄Account有賬戶的唯一性標識(11個長度的字符和數字的組合),用戶的姓名,開戶日期,賬戶密碼(六位的數字,可以用0開頭),當前的余額。銀行規定新開一個賬戶時,銀行方面提供一個標識符、賬戶初始密碼123456,客戶提供姓名,開戶時客戶可以直接存入一筆初始賬戶金額,不提供時初始余額為0。定義該類,并要求該類提供如下方法:存款、取款、變更密碼、可以分別查詢賬戶的標識、姓名、開戶日期、當前余額等信息。
實驗代碼
import java.util.Date; import java.util.Scanner; class Account{private String id,name,password;private Date date;private double balance;public Account() { } public Account(String id,String name,double balance) {this.setId(id);this.setName(name);this.date=new Date();this.password="123456";this.setBalance(balance); } public String getId() {return id; } public String getName() {return name; } public Date getDate() {return date; } public String getPassword() {return password; } public double getBalance() {return balance; } public void setId(String i) {id=i; } public void setName(String n) {name=n; } public void setDate(Date d) {date=d; } public void setPassword(String p) {password=p; } public void setBalance(double b) {balance=b; } public void cunqian(double money) {this.balance=this.balance+money; } public void quqian(double money) {this.balance=this.balance-money; } public Date date() {return date; } public void changepassword() {Scanner sc=new Scanner(System.in);System.out.println("請輸入新密碼:");String password=sc.nextLine(); } public static void main(String[] args) {Account a=new Account("010114","唐嘉誠",1000);a.cunqian(1000);a.quqian(500);a.changepassword();a.date();System.out.println("賬戶標識:"+a.getId());System.out.println("姓名:"+a.getName());System.out.println("開戶日期:"+a.date());System.out.println("當前余額:"+a.getBalance()); } }實驗截圖
總結
一:對象數組
1.對象數組的定義,所謂的對象數組,就是指包含了一組相關的對象,而且數組里面的每一個對象都是null值,所以在使用時數組中的每一個對象都必須分別進行實例化操作。
2.對象數組的聲明,類 對象數組名稱[ ] = new 類[數組長度];。
3.對象數組的初始化,與數組初始化的方式一樣,對象數組也分為靜態初始化和動態初始化。
二:String類
1.String類的兩種實例化方法
(1)直接賦值:如String name = "lichen";。
(2)利用new開辟一個新的空間(實際上就是直接調用String類中的構造方法):如String name = new String("lichen");。
2.String類的比較方法
(1)通過使用“==”進行內容的比較,但“==”并不能適用于字符串內容的比較,因為字符串的內容看似相等,但其實地址不同,而“==”主要的功能是進行數值的相等判斷的,如果用在了String對象上表示的是內存地址數值的比較,所以“==”就不能用于比較字符串內容啦。
(2)使用equals()方法對String的內容進行比較,equals()方法是String提供的一個方法,此方法專門負責進行字符串內容的比較,所以字符串內容比較是用equals()方法進行判斷的。
3.String類兩種對象實例化方式的區別
(1)直接賦值,對于這個代碼String str1="lichen";實際上就是把一個在堆中開辟好的堆內存空間的使用權給了str1這個對象,使用這種方法還有另外一個好處,那就是,如果一個字符串已經被一個名稱所引用,則以后再有相同的字符串聲明的時候,不會再重新開辟空間,并且會自動保存在對象池之中以供下次重復使用。
(2)使用new String()的方式實例化String對象,上面說過一個字符串就是一個String類的匿名對象,所以使用new關鍵詞的話,不管如何都會再開辟一個新的空間,但空間的內容不變,所以實際上開辟了兩個內存空間,但真正使用的只是一個使用關鍵字new開辟的空間,另一個是垃圾空間。
4.String類的使用特點
字符串的內容一旦聲明則不可改變。
5.String類的常用方法
(1)toCharrArray(),可以使字符串變成一個字符數組。
(2)charAt(),取出字符串指定位置的字符。
(3)indexOf(),可以返回指定的字符串的位置,如果不存在則返回-1。
(4)substring(),從指定位置截取到字符串結尾。
(5)startsWith(),判斷字符串是否以指定的內容開頭。
(6)endsWith(),判斷字符串是否以指定的內容結尾。
(7)replaceAll(),可以將字符串的指定內容進行替換,等。
三:包的概念
1.包的概念,包是在使用多個類或接口時,為了避免名稱重復而采用的一種措施。如果使用,直接在程序中加入package關鍵字即可。
2.包的定義,package 包名稱.字包名稱;。
3.import語句
(1)定義,如果將幾個類存放在不同的包中,則在使用類的時候就必須通過import語句導入。
(2)格式,import 包名稱.子包名稱.類名稱;(手工導入所需要的類),import 包名稱.子包名稱.*;(由JVM自動加載所需要的類)。
4.系統常見包
下面簡單介紹幾個
(1)java.lang,此包為基本的包,像String這樣的類就都保存在此包之中。
(2)java.util,此包為工具包,一些常用的類庫、日期操作等都在此包之中。
(3)java.io,輸入、輸出處理
轉載于:https://www.cnblogs.com/tangjiacheng/p/11553694.html
總結
- 上一篇: gh-ost 原理剖析
- 下一篇: P2577 [ZJOI2005]午餐