构造器(有参、无参)
構(gòu)造器: 就是和類(lèi)名相同但無(wú)返回類(lèi)型的方法。用于當(dāng)前或某一對(duì)象的實(shí)例化,并將當(dāng)前或某一對(duì)象返回。無(wú)參構(gòu)造:1、如果使用new關(guān)鍵字實(shí)際上是調(diào)用無(wú)參構(gòu)造器;2、無(wú)參構(gòu)造往往是為了初始化一些值。有參構(gòu)造:一旦定義了有參構(gòu)造,必須要顯示定義無(wú)參構(gòu)造
使用構(gòu)造器需注意:
下面是有參無(wú)參構(gòu)造的一個(gè)例子:
1、編寫(xiě)一個(gè)交通工具類(lèi)Vehicle類(lèi)。具有:屬性——載客量(capacity),方法:(1)無(wú)參構(gòu)造方法(給capacity初始化值為2,并輸出“執(zhí)行交通工具類(lèi)的無(wú)參構(gòu)造方法。”); (2)有參構(gòu)造方法(傳參給capacity初始化,并輸出“執(zhí)行交通工具的有參構(gòu)造方法。”);(3) capacity的set、get方法;(4) print方法:輸出capacity. (5)run方法,從控制臺(tái)中輸出“這是交通工具run方法”。
2、創(chuàng)建Vehicle類(lèi)的三個(gè)子類(lèi),Motor類(lèi)表示汽車(chē),Ship類(lèi)表示船,Aeroplane類(lèi)表示飛機(jī)類(lèi).各自具有;屬性——speed,表示速度. 方法: (1)無(wú)參構(gòu)造方法(給speed初始化值為0,并輸出“執(zhí)行XX類(lèi)的無(wú)參構(gòu)造方法。”);(2)有參構(gòu)造方法(用super關(guān)鍵字調(diào)用父類(lèi)的有參構(gòu)造方法,傳參給speed初始化,并輸出“執(zhí)行XX類(lèi)的有參構(gòu)造方法。”)(3) 加速(speedup):speed+10并返回speed;(4) 減速(speeddown):speed-15并返回speed;(5) 重寫(xiě)print方法:輸出speed和capacity。(6) 三個(gè)類(lèi)各自的run方法.分別輸出”汽車(chē)正在公路上奔跑”,”輪船正在大海上航行”,”飛機(jī)在天上飛行”
3、創(chuàng)建Motor的二個(gè)子類(lèi), Bus和Car(均為final類(lèi)),分別表示公共汽車(chē)和轎車(chē),分別寫(xiě)出各自的run方法。各自具有屬性——載客量(capacity);方法:(1) 無(wú)參構(gòu)造方法(給capacity初始化值為20,并輸出“執(zhí)行XX類(lèi)的無(wú)參構(gòu)造方法。”)(2) 有參構(gòu)造方法(用super關(guān)鍵字調(diào)用父類(lèi)的有參構(gòu)造方法,傳參給capacity初始化,并輸出“執(zhí)行XX類(lèi)的有參構(gòu)造方法。”)(3)寫(xiě)出它們自己的run方法.
同理,寫(xiě)出輪船的兩個(gè)子類(lèi),航空母艦和豪華游輪.飛機(jī)的兩個(gè)子類(lèi),戰(zhàn)斗機(jī)和客機(jī).
4、main函數(shù)中調(diào)用無(wú)參構(gòu)造方法創(chuàng)建一個(gè)Car的對(duì)象car;調(diào)用加速方法將速度加至50,調(diào)用print方法和run方法;調(diào)用減速方法,將速度減至20,調(diào)用print方法。調(diào)用有參構(gòu)造方法創(chuàng)建一個(gè)Bus的對(duì)象bus;調(diào)用print方法和run方法。航空母艦和豪華游輪,戰(zhàn)斗機(jī)和客機(jī).分別選擇一個(gè)構(gòu)造方法,并調(diào)用print和run方法.
交通工具
package 交通工具;public class Vehicle {public int capacity;Vehicle() {capacity=2;System.out.println("執(zhí)行交通工具類(lèi)的無(wú)參構(gòu)造方法。");}Vehicle(int capacity) {this.capacity=capacity;System.out.println("執(zhí)行交通工具的有參構(gòu)造方法。");}public int getCapacity() {return capacity;}public void setCapacity(int capacity) {this.capacity = capacity;}public void print() {System.out.println("載客量:"+capacity);}public void run() {System.out.println("這是交通工具run方法");}}汽車(chē)類(lèi)
package 交通工具;public class Motor extends Vehicle {public int speed;public Motor() {speed=0;System.out.println("執(zhí)行汽車(chē)類(lèi)的無(wú)參構(gòu)造方法。");}public Motor(int capacity,int speed) {super(capacity);this.speed=speed;System.out.println("執(zhí)行汽車(chē)類(lèi)的有參構(gòu)造方法。");}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int speedUp(){speed=speed+10;return speed;}public int speedDown() {speed=speed-15;return speed;}public void print(){System.out.println("速度:"+speed);System.out.println("載客量:"+capacity);}public void run(){System.out.println("汽車(chē)正在公路上奔跑");}}轎車(chē)
package 交通工具;public final class Car extends Motor {int capacity;public Car() {capacity=20;System.out.print("執(zhí)行轎車(chē)類(lèi)的無(wú)參構(gòu)造方法。");}public Car(int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行轎車(chē)類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("轎車(chē)速度為:"+speed); System.out.println("轎車(chē)車(chē)載客量:"+capacity);}}公共汽車(chē)
package 交通工具;public final class Bus extends Motor {public int capacity;public Bus() {capacity=20;System.out.println("執(zhí)行公共汽車(chē)類(lèi)的無(wú)參構(gòu)造方法。");}public Bus(int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行公共汽車(chē)類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("速度:"+speed);System.out.println("載客量:"+capacity);}}輪船類(lèi)
package 交通工具;public class Ship extends Vehicle {public int speed;//無(wú)參構(gòu)造方法public Ship() {speed=0;System.out.println("執(zhí)行汽車(chē)類(lèi)的無(wú)參構(gòu)造方法。");}public Ship(int capacity,int speed) {//調(diào)用父類(lèi)的有參構(gòu)造方法super(capacity);this.speed=speed;System.out.println("執(zhí)行汽車(chē)類(lèi)的有參構(gòu)造方法。");}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int speedUp() {speed=speed+10;return speed;}public int speedDown() {speed=speed-15;return speed;}public void print() {System.out.println("速度"+speed);System.out.println("載客量"+capacity);}public void run() {System.out.println("輪船正在大海上航行");}}航空母艦
package 交通工具;public final class Birdfarm extends Ship{int capacity;public Birdfarm () {capacity=20;System.out.print("執(zhí)行航空母艦類(lèi)的無(wú)參構(gòu)造方法。");}public Birdfarm (int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行航空母艦類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("航空母艦速度為:"+speed); System.out.println("航空母艦車(chē)載客量:"+capacity);}}豪華游輪
package 交通工具;public final class Luxuryship extends Ship{int capacity;public Luxuryship () {capacity=20;System.out.print("執(zhí)行豪華游輪類(lèi)的無(wú)參構(gòu)造方法。");}public Luxuryship (int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行豪華游輪類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("豪華游輪速度為:"+speed); System.out.println("豪華游輪載客量:"+capacity); }}飛機(jī)類(lèi)
package 交通工具;public class Aeroplane extends Vehicle {public int speed;//無(wú)參構(gòu)造方法public Aeroplane() {speed=0;System.out.println("執(zhí)行汽車(chē)類(lèi)的無(wú)參構(gòu)造方法。");}public Aeroplane (int capacity,int speed) {//調(diào)用父類(lèi)的有參構(gòu)造方法super(capacity);this.speed=speed;System.out.println("執(zhí)行汽車(chē)類(lèi)的有參構(gòu)造方法。");}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int speedUp() {speed=speed+10;return speed;}public int speedDown() {speed=speed-15;return speed;}public void print() {System.out.println("速度"+speed);System.out.println("載客量"+capacity);}public void run() {System.out.println("飛機(jī)在天上飛行");}}戰(zhàn)斗機(jī)
package 交通工具;public final class Fighter extends Aeroplane{int capacity;public Fighter () {capacity=20;System.out.print("執(zhí)行戰(zhàn)斗機(jī)類(lèi)的無(wú)參構(gòu)造方法。");}public Fighter (int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行戰(zhàn)斗機(jī)類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("戰(zhàn)斗機(jī)速度為:"+speed); System.out.println("戰(zhàn)斗機(jī)載客量:"+capacity); }}客機(jī)
package 交通工具;public final class Aircraft extends Aeroplane {int capacity;public Aircraft () {capacity=20;System.out.print("執(zhí)行客機(jī)類(lèi)的無(wú)參構(gòu)造方法。");}public Aircraft (int capacity,int speed) {super(capacity,speed);this.capacity=capacity;System.out.println("執(zhí)行客機(jī)類(lèi)的有參構(gòu)造方法。");}public void run() {System.out.println("客機(jī)速度為:"+speed); System.out.println("客載客量:"+capacity); }}總結(jié)
以上是生活随笔為你收集整理的构造器(有参、无参)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何用计算机算时间,在win10电脑的计
- 下一篇: 新建虚拟机向导