-
什么是類?什么是對象?
-
現實生活是由很多很多對象組成的,基于對象抽出了類
-
對象:軟件中真實存在的單個的個體/東西
類:類型/類別,代表一類個體
-
類是對象的模板/模子,對象是類的具體的實例
-
類中可以包含:
-
對象的屬性/特征/數據-----------------成員變量
-
對象的行為/動作/功能-----------------方法
-
-
一個類可以創建多個對象
-
-
如何創建類?如何創建對象?如何訪問成員?
//學生類 public class Student {//成員變量String name;int age;String address;//方法void study(){System.out.println(name+"在學習...");}void sayHi(){System.out.println("大家好,我叫"+name+",今年"+age+"歲了,家住"+address);} } ? //學生類的測試類 public class StudentTest {public static void main(String[] args) {//創建一個學生對象Student zs = new Student();//給成員變量賦值zs.name = "zhangsan";zs.age = 25;zs.address = "河北廊坊";//調用方法zs.study();zs.sayHi(); ?Student ls = new Student();ls.name = "lisi";ls.age = 24;ls.address = "黑龍江佳木斯";ls.study();ls.sayHi(); ?//1)創建了一個學生對象//2)給所有成員變量賦默認值Student ww = new Student();ww.study();ww.sayHi();} }
-
方法的簽名:方法名+參數列表
-
方法的重載(overload/overloading):---------------------------大大方便用戶的調用
-
發生在同一類中,方法名相同,參數列表不同
-
編譯器在編譯時會根據方法的簽名自動綁定調用方法
//方法重載的演示 public class OverloadDemo {public static void main(String[] args) {Aoo o = new Aoo();o.show();o.show(25);o.show("zhangsan");o.show("zhangsan",25);o.show(25,"zhangsan");} } ? class Aoo{void show(){}void show(String name){}void show(int age){}void show(String name,int age){}void show(int age,String name){} ?//int show(){ return 1; } //編譯錯誤,重載與返回值類型無關//void show(String address){} //編譯錯誤,重載與參數名稱無關 }
-
補充:
-
OO:面向對象
OOA:面向對象分析
OOD:面向對象設計
OOP:面向對象編程-------------------你們以后所參與的部分
-
高質量的代碼:-------------想拿年薪所必須的必
-
復用性好、擴展性好、維護性好、可移植性好、健壯性好、可讀性好、效率好......
-
-
類:是一種引用數據類型(是我們自己創造的一種數據類型)
-
// ? ? ? ? 引用 //數據類型 引用類型變量 指向 ? ? 對象Student ? ?zs ? ? ? ?= ? new Student();
-
new對象時會給所有成員變量賦默認值,規則如下:
byte,short,int,long,char-------------------0 float,double-------------------------------0.0 boolean------------------------------------false 引用類型------------------------------------null