第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

求大神指點(diǎn)更優(yōu)化的寫法

//父類

package traffic;


public class Vehicle {

int Pop ;//運(yùn)輸工具的可載人數(shù)

String Move;//運(yùn)輸方式

String Models;//工具類型

public void moveCar(){

System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么

}

}

//子類 汽車

package traffic;


public class Car extends Vehicle {

public void moveCar(){

Pop = 5;

Move = "陸地";

Models = "汽車";

System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么

}

}

//子類 飛機(jī)

package traffic;


public class Aircraft extends Vehicle {

public void moveCar(){

Pop = 50;

Move = "天空";

Models = "飛機(jī)";

System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么

}

}

//子類飛機(jī)

package traffic;


public class Ship extends Vehicle {

public void moveCar(){

Pop = 50;

Move = "海上";

Models = "輪船";

System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么

}

}

//演示

package traffic;


public class AppliCation {


public static void main(String[] args) {

// TODO Auto-generated method stub

//Vehicle traFFic = new Vehicle();

Vehicle carModel = new Car();

Vehicle carMode2 = new Aircraft();

Vehicle carMode3 = new Ship();

carModel.moveCar();

carMode2.moveCar();

carMode3.moveCar();

}


}

求大神看看這么寫對(duì)不對(duì),另外我感覺這種不方便,如果想要隨時(shí)往里面?zhèn)鲄?shù),應(yīng)該怎么寫?有沒有更優(yōu)化的方法讓在下參考下?

正在回答

4 回答

你既然每個(gè)都繼承了Vehicle,就直接調(diào)用方法啊,沒必要每個(gè)都去重寫啊,你這樣的繼承毫無意義啊,還不如每個(gè)單獨(dú)寫。

public class Ship extends Vehicle {

public Ship(String Models,String Move,int Pop){

this.Models = Models;

this.Move = Move;

this.Pop = Pop;

}

}

我們只需要給不同的運(yùn)輸方式賦不同的值就行了。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕的地5161759

是哈,寫完我才意識(shí)到,謝謝指點(diǎn)
2017-06-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

點(diǎn)墨_痕 提問者

非常感謝!
2017-06-19 回復(fù) 有任何疑惑可以回復(fù)我~
package?com.shellinfor;
//父類
public?class?Vehicle?{
	int?pop;
	String?move;
	String?models;
	
	public?void?movePeople(){
		System.out.println(models?+",是屬于"?+?move?+",可以載客"?+?pop+?"!");
	}
}
package?com.shellinfor;
//汽車子類
public?class?Car?extends?Vehicle?{
	public?Car(String?models,String?move,int?pop){
		this.models?=?models;
		this.move?=?move;
		this.pop?=?pop;
	}
}
package?com.shellinfor;
//輪船子類
public?class?Ship?extends?Vehicle?{
		public?Ship(String?models,String?move,int?pop){
			this.models?=?models;
			this.move?=?move;
			this.pop?=?pop;
		}
}
package?com.shellinfor;
//飛機(jī)子類
public?class?Plane?extends?Vehicle?{
		public?Plane(String?models,String?move,int?pop){
			this.models?=?models;
			this.move?=?move;
			this.pop?=?pop;
		}
}
package?com.shellinfor;
//主方法類
public?class?Demo?{

	public?static?void?main(String[]?args)?{
	
		Vehicle?ve1?=?new?Car("汽車",?"陸運(yùn)",?40);
		Vehicle?ve2?=?new?Ship("輪船",?"海運(yùn)",?200);
		Vehicle?ve3?=?new?Plane("飛機(jī)",?"空運(yùn)",?400);
		
		ve1.movePeople();
		ve2.movePeople();
		ve3.movePeople();
	}
}

請(qǐng)大神看一下,這樣可以嗎?還可以優(yōu)化嗎?

0 回復(fù) 有任何疑惑可以回復(fù)我~
//父類package?traffic;
class?Vehicle?{?
?//變量名第一個(gè)字母不用大寫,類名或接口名第一個(gè)字母才要大寫
?int?pop?;//運(yùn)輸工具的可載人數(shù)?
?String?move;//運(yùn)輸方式?
?String?models;//工具類型?
?
?public?Vehicle()?{
??
?}
?
?public?Vehicle(int?pop,?String?move,?String?models)?{
??this.pop?=?pop;
??this.move?=?move;
??this.models?=?models;
?}
?
?public?void?moveCar(){??
??System.out.println(models?+?"在"?+?move?+"一次可運(yùn)輸:"?+?pop?+?"人");//創(chuàng)建方法?交通工具可以干什么?
?}
}
//子類?汽車
class?Car?extends?Vehicle?{?
?public?Car(int?pop,?String?move,?String?models){??
??super(pop,?move,?models);?
?}
}
//子類?飛機(jī)
class?Aircraft?extends?Vehicle?{?
?public?Aircraft(int?pop,?String?move,?String?models)?{
??super(pop,?move,?models);
?}
}
//子類飛機(jī)
class?Ship?extends?Vehicle?{?
?public?Ship(int?pop,?String?move,?String?models){?
??super(pop,?move,?models);
?}
}
//演示
public?class?AppliCation?{?
?//創(chuàng)建一個(gè)靜態(tài)方法,利用多態(tài),調(diào)用Vehicle子類中各自的moveCar()方法
?public?static?void?show(Vehicle?v)?{
??v.moveCar();
?}
?public?static?void?main(String[]?args)?{?
??Vehicle?car?=?new?Car(5,?"陸地",?"汽車");
??Vehicle?aircraft?=?new?Aircraft(50,?"天空",?"飛機(jī)");
??Vehicle?ship?=?new?Ship(50,?"海上",?"輪船");
?????????
??show(car);???????
??show(aircraft);???????
??show(ship);???????
?}
}

8 回復(fù) 有任何疑惑可以回復(fù)我~
#1

點(diǎn)墨_痕 提問者

比我寫的好多了我的思想太僵硬了,有參的構(gòu)造方法沒學(xué)習(xí)明白!
2017-06-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕圣0830664 回復(fù) 點(diǎn)墨_痕 提問者

都是這么過來的,多練,多寫,多借鑒別人寫的代碼,慢慢就好了,我也新手一枚。。
2017-06-19 回復(fù) 有任何疑惑可以回復(fù)我~
#3

曾老爺子 回復(fù) 慕圣0830664

super(pop, move, models);這個(gè)能具體解釋下嗎,按我理解這里應(yīng)該是把子類的屬性賦值,但是super不是用來訪問父類的屬性或方法嗎?
2017-07-05 回復(fù) 有任何疑惑可以回復(fù)我~
#4

都怪我不好

public static void show(Vehicle v) { v.moveCar(); }感覺沒必要,后面直接改成car.show();aircraft.show();ship.show();不行嗎?
2017-07-07 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)
//父類
package?traffic;

public?class?Vehicle?{
	int?Pop?;//運(yùn)輸工具的可載人數(shù)
	String?Move;//運(yùn)輸方式
	String?Models;//工具類型
	public?void?moveCar(int?pop,?String?move,?String?models){
		this.Pop?=?pop;
		this.Move?=?move;
		this.Models?=?models;
		System.out.println(Models?+?"在"?+?Move?+"一次可運(yùn)輸:"?+?Pop?+?"人");//創(chuàng)建方法?交通工具可以干什么
	}
}

//子類?飛機(jī)
package?traffic;

public?class?Aircraft?extends?Vehicle?{
	public?void?moveCar(){
		/*
		Pop?=?50;
		Move?=?"天空";
		Models?=?"飛機(jī)";
		System.out.println(Models?+?"在"?+?Move?+"一次可運(yùn)輸:"?+?Pop?+?"人");//創(chuàng)建方法?交通工具可以干什么
		*/
	}
}

//子類?汽車
package?traffic;

public?class?Car?extends?Vehicle?{
	public?void?moveCar(){
		/*
		Pop?=?5;
		Move?=?"陸地";
		Models?=?"汽車";
		System.out.println(Models?+?"在"?+?Move?+"一次可運(yùn)輸:"?+?Pop?+?"人");//創(chuàng)建方法?交通工具可以干什么
		*/
	}
}

//子類?輪船
package?traffic;

public?class?Ship?extends?Vehicle?{
	public?void?moveCar(){
	???/*	
	????Pop?=?50;
		Move?=?"海上";
		Models?=?"輪船";
		System.out.println(Models?+?"在"?+?Move?+"一次可運(yùn)輸:"?+?Pop?+?"人");//創(chuàng)建方法?交通工具可以干什么
		*/
	}
}

//main
package?traffic;

public?class?AppliCation?{

	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		Vehicle?carModel?=?new?Car();
		Vehicle?carMode2?=?new?Aircraft();
		Vehicle?carMode3?=?new?Ship();
		carModel.moveCar(5,?"陸地",?"汽車");
		carMode2.moveCar(50,?"天空",?"飛機(jī)");
		carMode3.moveCar(50,?"海上",?"輪船");
	}

}

我也是初學(xué)者,稍微的改了一下,不知道是不是你想要的效果

2 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

求大神指點(diǎn)更優(yōu)化的寫法

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)