我肯定說,不知道、不清楚。
簡單講類是java中的基本單元,類是具有相同特性和行為的對象集合
1.3、類的定義
class 類名{
}
1.4、類包含
類中包含成員和行為(方法)
package com.pb.demo2;/* * 人類 */public class Person { //Persion為類名 /* * 屬性,name,sex,age */ public String name; //名字 public String sex ; //性別 public int age; //年齡 /* *方法(行為) */ //吃飯 public void eat(){ System.out.); } //工作 public void work(){ System.out.println("工作"); }}
1.5、三大特征
封裝、繼承、多態
二、類和對象關系
2.1、類和對象
類就是對現實生活中事物的描述。
對象就是這些事物,實實在在的個體
package com.day05;/** * 汽車類 * * @author Denny 屬性對應類中變量 行為對應類中的函數(方法) 定義類就是在描述事物,就是在定義屬性和行為 * 屬性和行為共同成為類中的成員變量(成員變量和方法) */public class Car { // 顏色 String color = "紅色"; // 輪胎 int num = 4; // 運行跑起來的行為 public void run() { //局部變量 //int num=10; System.out.println(color + " " + num); } public static void main(String[] args) { Car c = new Car();// 聲明汽車對象c c.color = "黃色"; // 更改屬性值 c.num = 8; c.run(); // 調用方法 Car c1=c; c1.color="白色"; c1.num=6; c.run(); }}
package com.day05;/** * 汽車類 * * @author Denny 屬性對應類中變量 行為對應類中的函數(方法) 定義類就是在描述事物,就是在定義屬性和行為 * 屬性和行為共同成為類中的成員變量(成員變量和方法) * 作用范圍 * 成員變量作用于整個個類中 * 局部變量作用于方法或者文句中 * 在內存中的位置 * 成員變量在堆內存 * 局部變量在棧內存 */public class Car { // 顏色 String color = "紅色"; // 輪胎 int num = 4; // 運行跑起來的行為 public void run() { //局部變量 //int num=10; System.out.println(color + " " + num); } public static void main(String[] args) { new Car().num=99; new Car().color="blue"; new Car().run(); }}
紅色 4
package com.day05;/** * 人類 * * @author Denny * */public class Person { private String name; // 姓名 private int age; // 年齡 private String gender; // 性別 // 自我介紹的方法 public void say() { System.out.println("姓名:" + this.name + " 年齡:" + this.age + " 性別:" + this.gender); } // getter、setter方法 提供的對外的訪問 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 檢查年齡是不是在0-150之間 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年齡不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 檢查條件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性別不合法只能是男或者女!"); } } public static void main(String[] args) { Person p = new Person(); p.setName("張三"); p.setAge(-20); p.setGender("人妖"); p.say(); }}
結果:
public class Person { private String name; // 姓名 private int age; // 年齡 private String gender; // 性別 public Person() { //無參數構造方法 }//實現構造方法重載 public Person(String name, int age, String gender) { //有參數構造方法 this.name = name; this.age = age; this.gender = gender; } // 自我介紹的方法 public void say() { System.out.println("姓名:" + this.name + " 年齡:" + this.age + " 性別:" + this.gender); } // getter、setter方法 提供的對外的訪問 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 檢查年齡是不是在0-150之間 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年齡不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 檢查條件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性別不合法只能是男或者女!"); } }}public static void main(String[] args) { Person p = new Person("張三",13,"男");//調用有參數的構造方法 p.say(); } }
package com.day05;/** * 人類 * * @author Denny * */public class Person { private String name; // 姓名 private int age; // 年齡 private String gender; // 性別 /* * 構造代碼塊: * 作用:給對象進行初始化 * 對象 一建立就運行,而且優先于構造方法執行 * 構造代碼塊是給所有對象進行統一初始化 * 構造方法是給對應的對象初始化 */ { System.out.println("這是Person 的構造代碼塊"); } public Person() { } public Person(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } // 自我介紹的方法 public void say() { System.out.println("姓名:" + this.name + " 年齡:" + this.age + " 性別:" + this.gender); } // getter、setter方法 提供的對外的訪問 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { // 檢查年齡是不是在0-150之間 if (age >= 0 && age <= 150) { this.age = age; } else { System.out.println("年齡不合法!"); } } public String getGender() { return gender; } public void setGender(String gender) { // 檢查條件 if (gender.equals("男") || gender.equals("女")) { this.gender = gender; } else { System.out.println("性別不合法只能是男或者女!"); } } public static void main(String[] args) { Person p = new Person("張三",13,"男"); Person p1=new Person(); }}
結果:
// 自我介紹的方法 public void say() { System.out.println("姓名:" + this.name + " 年齡:" + this.age + " 性別:" + this.gender); }
package com.day05;/** * * @author Denny this 語句的調用 */public class Person1 { private String name; // 姓名 private int age; // 年齡 public Person1() { } public Person1(String name) { this.name = name; // 為本對象name賦值 } public Person1(String name, int age) { // 在構造方法中調用另一個構造方法時this必須放在第一行 this(name); // 調用另一個構造方法 this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // 自我介紹的方法 public void say() { System.out.println("姓名:" + this.name + " 年齡:" + this.age); } public static void main(String[] args){ //聲明一個參數的對象 Person1 p1=new Person1("張三"); p1.say(); Person1 p2=new Person1("張三",25); p2.say(); }}
新聞熱點
疑難解答