日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

12. 定义类 【连载 12】

發(fā)布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12. 定义类 【连载 12】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java 是面向?qū)ο蟮木幊陶Z言,我們可以使用 Java 來模擬現(xiàn)實(shí)世界的任何事物,其中 類 有非常重要的作用。在【面向?qū)ο蟮某醪嚼斫狻恐幸呀?jīng)做過其基本的講解,這次內(nèi)容,主要來告訴你如何在 Java 中定義類。

成員變量

現(xiàn)在使用 Java 語言來模擬汽車,其屬性,其行為。汽車對應(yīng)到 Java 世界中是一個類:

public class Car {}

汽車的制造商、里程表、最高時速我們可以用類的成員變量來表示:

public class Car {String make;//制造商double odometer;//里程int maxSpeed;//最高時速 }

在一個類中,除了基本類型變量之外,還可以使用引用類型變量,作為成員變量。比如給汽車增加一個引擎的屬性。

定義引擎:

public class Engine {double power = 5.5;//動力 }

Car 增加引擎屬性:

public class Car {String make;//制造商double odometer;//里程int maxSpeed;//最高時速Engine engine;//引擎 }

成員方法

汽車除了有其屬性之外,當(dāng)然還有它自己的行為,在類中用方法來模擬汽車的行為。汽車啟動、汽車行駛用兩個成員方法來表示:

public class Car {String make;//制造商double odometer;//里程int maxSpeed;//最高時速Engine engine;//引擎//汽車啟動public void starup() {System.out.println(make + ", 啟動了");}//汽車行駛public void run() {System.out.println("80, 行駛");}}

構(gòu)造方法

在一個類中還有一種重要的方法,就是構(gòu)造方法,被稱為構(gòu)造器,它的作用是用來創(chuàng)建對象的。當(dāng)我們使用一個類去創(chuàng)建一個對象的時候,會調(diào)用其相應(yīng)的構(gòu)造方法,來創(chuàng)建一個對象實(shí)例。構(gòu)造方法有自己的一些規(guī)則,有別于普通的成員方法。

構(gòu)造方法需要滿足以下條件:

  • 方法的名字必須和類的名字保持一致。
  • 構(gòu)造方法是沒有返回值的。
  • 給汽車類增加構(gòu)造函數(shù):

    public class Car {String make;//制造商double odometer;//里程int maxSpeed;//最高時速Engine engine;//引擎//空構(gòu)造,也是默認(rèn)構(gòu)造。public Car() {System.out.println("調(diào)用了空構(gòu)造方法");}//汽車啟動public void starup() {System.out.println(make + ", 啟動了");}//汽車行駛public void run() {System.out.println("80, 行駛");}}

    定義了一個空的構(gòu)造,方法中沒有任何的代碼邏輯。這也是一個類的默認(rèn)構(gòu)造方法。意思是說:如果一個類沒有像上面顯示的什么任何構(gòu)造方法的時候,當(dāng)我們創(chuàng)建對象的時候,會自動調(diào)用一個空的構(gòu)造方法。

    public static void main(String[] args) {Car myCar = new Car(); }
    • Car myCar:聲明了一個Car類型的變量。
    • new : 一個創(chuàng)建對象的關(guān)鍵字。
    • Car() :調(diào)用構(gòu)造方法

    除了空構(gòu)造方法之外,可以自一個類中定義多個構(gòu)造方法,但是這些個構(gòu)造方法之間參數(shù)不能一樣。我們再定義兩個構(gòu)造方法:

    public class Car {String make;//制造商double odometer;//里程int maxSpeed;//最高時速Engine engine;//引擎//空構(gòu)造,也是默認(rèn)構(gòu)造。public Car() {System.out.println("調(diào)用了空構(gòu)造方法");}//一個參數(shù)的構(gòu)造方法,可以傳遞make值,創(chuàng)建一個對象public Car(String make) {this.make = make;}//多個參數(shù)的構(gòu)造public Car(String make, double odometer, int maxSpeed, Engine engine) {this.make = make;this.odometer = odometer;this.maxSpeed = maxSpeed;this.engine = engine;} //汽車啟動public void starup() {System.out.println(make + ", 啟動了");}//汽車行駛public void run() {System.out.println("80, 行駛");}}

    使用不同的構(gòu)造方法來創(chuàng)建對象:

    public static void main(String[] args) {Car myCar = new Car();Car poloCar = new Car("polo");Engine engine = new Engine();Car miniCar = new Car("mini", 50.5, 200, engine); }

    方法重載

    汽車的類中,存在三個參數(shù)不一樣的構(gòu)造方法。這種情況其實(shí)是一種方法重載的現(xiàn)象。

    方法重載:在一個類中方法名相同,方法的參數(shù)不一樣的現(xiàn)象叫做方法重載。

    方法參數(shù)不一樣包括情況:

    • 方法的參數(shù)的類型相同,個數(shù)不相同
    • 方法的個數(shù)相同,類型不相同

    原則是只要方法的參數(shù)不一樣,在調(diào)用的時候,能夠正確的區(qū)分是調(diào)用哪個方法,就 OK

    構(gòu)造方法可以重載,當(dāng)然其他的成員方法也是可以重載的。比如 Car 中的run方法:

    //汽車行駛public void run() {System.out.println("80, 行駛");}//指定某個速度行駛 public void run(int speed) {System.out.println("以"+ speed +"的速度行駛"); }

    兩個 run 方法的參數(shù)不一樣,構(gòu)成了方法重載。方法重載主要是為了適應(yīng)不同的場景。像你買一份涼皮,有人喜歡加辣,有人不要辣。

    調(diào)用兩個方法:

    public static void main(String[] args) {Car myCar = new Car();myCar.run();myCar.run(200); }

    現(xiàn)在已經(jīng)了解一個類的基本結(jié)構(gòu),我們可以根據(jù)實(shí)際的情況去定義其屬性和方法。下面要介紹的是變量和方法的可見性。

    可見性

    所謂可見性,就是說針對一個變量和方法,誰可以方法調(diào)用。主要的針對兩類情況,類的內(nèi)部和類的外部。

    控制變量和方法可見性的是修飾詞:

    • private 私有的,不公開。修飾的變量和方法只有在其類的內(nèi)部 可以被調(diào)用,對類的外部不可見。
    • protected 保護(hù)的,有權(quán)限的公開。修飾的變量和方法只有同一個包下的其他類可以調(diào)用,對其他的類不可見。變量和方法沒有任何修飾詞的時候,默認(rèn)效果和 protected 修飾一樣。
    • public 完全公共的,修飾的變量和方法對其他的類完全公開,可以被訪問和調(diào)用。

    對于變量,如果使用 private 修飾的話,起到一個保護(hù)作用,這種做法叫封裝。只有通過調(diào)用其對應(yīng)對象的公開的方法才可以訪問被封裝的變量屬性。

    對于方法,一般都會使用 public 修飾,方法公開被調(diào)用。如果該方法只是本類的內(nèi)部使用,我們可以使用 private 修飾。

    對于構(gòu)造方法,如果用private 修飾的話,在該類的外部將不能創(chuàng)建實(shí)例對象。這種做法可以用來實(shí)現(xiàn)單例模式,后面有內(nèi)容會講的。

    OK,對于類的定義,我們基本用到的一些規(guī)則給你做了介紹。下次內(nèi)容著重來說一說類的使用。

    轉(zhuǎn)載于:https://blog.51cto.com/lirenmi/2054157

    總結(jié)

    以上是生活随笔為你收集整理的12. 定义类 【连载 12】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。