中國有句古話曰:人以類聚,物以群分;而java應該可以說是來於生活而高於生活,因此,我們也可以用中國的這句古語來理解java。
談到java,首先要說的就是類和對象瞭。這是從頭到尾貫穿於java中的兩條線索,就好比是一步一部電視劇中的兩個男女主角;廢話少說,直奔主題。
正是java是一種來於現實的語言,因此,我們可以將類和對象比喻成設計圖紙和成品;類就是那張藍圖,而對象就是根據那張藍圖設計出的一個個產品,所以,在程序中,我們隻能用類來產生一個個對象,而能夠直接操作的隻能是對象。
1.1類
類是用來描述一組具有相同特征對象的:
· 應包含相應的特性
·行為特征
因此,類包含兩個內容:
·屬性:用來描述對象的數據元素;
·方法:對對象的屬性進行操作;
1.2類的聲明
[<修飾符>]class<類名>{//中括號表示可以省略,尖括號表示是必需的
類的屬性;
構造方法;
類的方法;
}
屬性的聲明:
[<修飾符>]<數據類型><屬性名>
‚方法的聲明:
<修飾符><返回類型><方法名>([<參數列表>]){
方法體
}
ƒ構造方法:
<修飾符><類名>([<參數列表>]){
方法體
}
1.3;示列:學生類的定義
[java]
package java.duan.test;
public class Student {//定義一個Student類
//定義屬性
private String name;
private String sex;
private int age;
private int grade;
//定義屬性name的獲取方法
public String getName() {
return name;
}
//定義屬性name的設置方法
public void setName(String name) {
this.name = name;
}
//定義屬性sex的獲取方法
public String getSex() {
return sex;
}
//定義屬性sex的設置方法
public void setSex(String sex) {
this.sex = sex;
}
//定義屬性age的獲取方法
public int getAge() {
return age;
}
//定義屬性age的設置方法
public void setAge(int age) {
this.age = age;
}
//定義屬性sex的獲取方法
public int getGrade() {
return grade;
}
//定義屬性sex的獲取方法
public void setGrade(int grade) {
this.grade = grade;
}
}
1.4構造器
在java中,一個類裡邊都必須至少有一個構造器,但細心地會發現,其實類student裡邊沒有定義構造方法,但程序還是沒有錯誤,這是因為,如果在程序中沒有定義任何的構造器,則編譯器將會自動加上一個不帶任何參數的構造器。如果在類中定義瞭構造器,則程序會調用此構造器,默認的構造器就沒作用瞭。
特點:它的方法名必須與類的名稱一樣
例如:
[java]
package java.duan.test;
public class Dog{
public int weight;
public Dog(int dog_weight){
weight=dog_weight;
}
Dog dog1=new Dog(20);//這時如果改為Dog dog1=new Dog();則會出錯,因為默認的構造器已經不起作用瞭;
}
1.5對象的創建和使用
定義瞭類的屬性和方法之後,就可以利用new+構造器創建對象瞭;
比如可以創建Student 類的實例對象student1的方法為:
Student student1=new Student();
這時創建的對象就可以調用類裡邊的屬性和方法瞭,比如:
[java]
public static void main(String[] args) {
Student student1=new Student();
student1.setAge(19);
System.out.println("學生年齡:"+student1.getAge());
}
其他的方法調用也一樣,註意的是對於private屬性的方法和屬性,不在同一個類中的對象不能直接調用,隻能通過其他的方法來間接調用;
總的來說,類和對象還是比較好理解,學起來也很簡單;
作者:xyz121323693