1、面向對象java
/** * 建立Dog類 * 抽取狗子的特徵,定義爲屬性 * 抽取狗子的行爲,定義爲方法 * @author Dushine2008 * */ public class Dog { // 屬性--品種-哈士奇、年齡-三、名字-道哥、顏色-黑白 String breed; int age; String name; String color; // 方法 public void eat(String food) { System.out.println("狗子喜歡吃:" + food); } public void sleep(int hour) { System.out.println("咱們家的狗子天天睡覺時長是" + hour); } }
public class DogTest { public static void main(String[] args) { Dog dog = new Dog(); // 調用方法 dog.eat("骨頭"); dog.sleep(8); // 調用屬性,屬性若是沒有提早賦值,獲得的是默認值 int age = dog.age; System.out.println(age); // 給dog的屬性賦值 dog.breed = "哈士奇"; dog.name = "二哈"; dog.age = 3; dog.color = "黑白"; // 調用dog的屬性 System.out.println("狗子的品種是:" + dog.breed); System.out.println("狗子的名字是:" + dog.name); System.out.println("狗子的年齡是:" + dog.age); System.out.println("狗子的顏色是:" + dog.color); } }
圖解【建立多個對象】:面試
2、局部變量和實例變量編程
類型 | 局部變量 | 實例變量(成員變量) |
定義位置 | 方法內部 | 類中方法外 |
存儲位置 | 棧內存 | 堆內存 |
默認值 | 無,必須賦值在使用 | 有默認值,和數據類型有關 |
做用範圍 | 整個方法 | 整個類 |
生命週期 | 建立方法到方法的結束 | 隨着對象的建立而建立,對象的消失而消失 |
命名衝突 | 方法中不能存在重名的變量 | 能夠和局部變量重名,局部變量優先級高 |
3、實例方法jvm
public class Student { // 屬性 String name; /** * 見面打招呼的方法【實例方法】 * @param word 打招呼的內容 */ public void sayHi(String name) { System.out.println(name+"是一個好學生); } //調用實例方法 public static void main(String[] args) { // 建立學生對象stu01 Student stu01 = new Student(); stu01.name = "張飛"; //調用實例方法 stu01.sayHi("我乃燕人張翼德"); } }
4、方法重載this
5、構造方法設計
public class Demo01 { public static void main(String[] args) { //調用無參構造方法 Stu stu01 = new Stu(); System.out.println("=============="); //調用有參構造方法 Stu stu01 = new Stu(「張三」,25); } } class Stu{ //無參構造方法 public Stu() { System.out.println("我是Stu空參的構造方法"); } // 屬性name和age String name; int age; //有參構造方法 public Stu(String name,int age) { System.out.println("我是Stu空參的構造方法"); } }
6、this3d
7、ATM小案例:對象
import java.util.Scanner; public class Demo07 { public static void main(String[] args) { /** * 銀行ATM 模擬銀行帳戶業務,實現存款、取款和餘額查詢。運行效果以下所示: 1.存款 2.取款 3.查詢 0.退出 請選擇你要辦理的業務:1 請輸入存款金額:1000 --------- 存款成功! 1.存款 2.取款 3.查詢 0.退出 請選擇你要辦理的業務:2 請輸入取款金額:100 --------- 取款成功! 1.存款 2.取款 3.查詢 0.退出 請選擇你要辦理的業務:3 ---您當前帳戶餘額:900元--- 1.存款 2.取款 3.查詢 0.退出 請選擇你要辦理的業務:0 O(∩_∩)O謝謝您的使用,歡迎下次光臨! */ Scanner in = new Scanner(System.in); // 建立銀行卡 ATM atm = new ATM(1000); // 開啓死循環,不斷提示用書輸入數據 outer:while (true) { System.out.println("1.存款 2.取款 3.查詢 0.退出\r\n請選擇你要辦理的業務:"); int select = in.nextInt(); switch (select) { case 0: System.out.println("O(∩_∩)O謝謝您的使用,歡迎下次光臨!"); break outer; // 存款的操做 case 1: System.out.println("請輸入存款金額:"); int m1 = in.nextInt(); atm.saveMoney(m1); System.out.println("成功存入金額:" + m1 + ",餘額:" + atm.getBalance()); break; // 取款的操做 case 2: System.out.println("請輸入取款金額:"); int m2 = in.nextInt(); double ret = atm.takeMoney(m2); // 判斷ret是否大於0 if (ret == m2) { System.out.println("成功取出:" + m2 + ",餘額:" + atm.getBalance()); }else { System.out.println("餘額不足"); } break; // 查詢餘額 case 3: System.out.println("當前帳戶餘額:" + atm.getBalance()); default: System.out.println("輸入有誤,請再次輸入..."); break; } } } } /** * 自助櫃員機 * 定義了餘額 * 定義存、取、查詢的方法 * @author Dushine2008 * */ class ATM{ // 屬性:餘額 double balance; // 構造方法 public ATM() {} public ATM(double balance) { this.balance = balance; } // 存錢 public void saveMoney(int money) { this.balance += money; } // 取錢 public double takeMoney(int money){ // 判斷餘額是否是充足 if (money <= balance) { this.balance -= money; return money; } return 0; } // 查詢 public double getBalance() { return this.balance; } }