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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

為什么在main函數(shù)中給子類賦值 運(yùn)行結(jié)果仍然為在子類中給屬性賦值的結(jié)果


package com.shape;


public class Rcerangle extends Shape {

public double higher = 5;

public double longer = 4;

@Override

public ?void primeter() {

// TODO Auto-generated method stub

double primeter = 2*(higher+longer);

System.out.println("該矩形的周長為:" + primeter);

}


@Override

public ? void ?acreage() {

// TODO Auto-generated method stub

double acreage = higher * longer;

System.out.println("該矩形的面積為:" + acreage);

}

}



package com.shape;

//import java.util.Scanner;;

public class Text {


public static void main(String[] args) {

// TODO Auto-generated method stub

Shape obj1 = new Rcerangle();

Rcerangle si = new Rcerangle();

//Scanner input = new Scanner(System.in);

//System.out.println(obj.longer=input.nextDouble());

//System.out.println(obj.higher=input.nextDouble());

si.longer = 7;

obj1.primeter();

obj1.acreage();

Shape obj2 = new Cirlce();

obj2.primeter();

obj2.acreage();

}



該矩形的周長為:18.0

該矩形的面積為:20.0

該圓形的周長為:25.12

該圓形的面積為:50.24


正在回答

4 回答

package obtest;

public class Circle extends Shape {
?? ?int R;
?? ?double pi = 3.14;
?? ?@Override
?? ?public void perimeter() {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?double preimeter;
?? ??? ?preimeter = this.R*pi*2;
?? ??? ?System.out.println("這個矩形的面積:"+preimeter);
?? ?}

?? ?@Override
?? ?public void acreage() {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?double acreage;
?? ??? ?acreage = (this.R+this.R)*pi;
?? ??? ?System.out.println("這個矩形的面積:"+acreage);
?? ?}

}


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

應(yīng)該是你創(chuàng)建的si和obj1都是分開的內(nèi)存段,你si引用對象賦值跟Obj1沒有關(guān)系,,你用Obj1賦值再執(zhí)行操作就可以了

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

對象用錯了,應(yīng)該是si.primeter(); si.acreage();就對了,你那種引用是不對的,直接Rcerangle si = new Rcerangle();就ok了 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

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

愛摔跤的小男孩 提問者

那我父類調(diào)用子類方法豈不是毫無意義 Shape obj1 = new Rcerangle();
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#2

愛摔跤的小男孩 提問者 回復(fù) 愛摔跤的小男孩 提問者

不對 是重寫
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

愛摔跤的小男孩 提問者 回復(fù) 愛摔跤的小男孩 提問者

在父類中定義屬性 在主函數(shù)中就可以通過修改父類的屬性值,數(shù)值就對了。
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕沐2182660 回復(fù) 愛摔跤的小男孩 提問者

也就是說不能間接修改屬性吧,這方面我也不太清楚。。?;貋砦乙苍囈幌?/div>
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

你在子類的函數(shù)中,沒有使用對象的屬性,只是在子類的函數(shù)里用higher * longer是不行的,應(yīng)該用this.higher吧,不然這個只是個普通變量,而不是你的obj1對象的一個屬性

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

愛摔跤的小男孩 提問者

不行啊 我只是想要在main函數(shù)中修改子函數(shù)中屬性的值 難道需要構(gòu)造函數(shù)賦值么
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕沐2182660 回復(fù) 愛摔跤的小男孩 提問者

在主函數(shù)直接對它進(jìn)行應(yīng)該是沒錯的,結(jié)果不對應(yīng)該是之后的函數(shù)沒有使用你更改后的值,要是還不對你在給我看下你改之后的代碼
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

愛摔跤的小男孩 提問者 回復(fù) 慕沐2182660

我現(xiàn)在是用set給子類賦值,運(yùn)行結(jié)果還是不是使用我更改后的值 主函數(shù)的部分代碼是這樣的 Shape obj1 = new Rcerangle(); Rcerangle si = new Rcerangle(); si.setHigher(4); si.setLonger(5); obj1.primeter(); obj1.acreage();
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#4

愛摔跤的小男孩 提問者 回復(fù) 慕沐2182660

public void primeter() { // TODO Auto-generated method stub double primeter = 2*(this.higher+this.longer); System.out.println("該矩形的周長為:" + primeter); }
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#5

愛摔跤的小男孩 提問者 回復(fù) 慕沐2182660

還是說先是父類引用子類對象,導(dǎo)致子類無法賦值么
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#6

慕沐2182660 回復(fù) 愛摔跤的小男孩 提問者

關(guān)于面積計算的代碼你給我發(fā)一下我看看,你也可以調(diào)試下,來看看對象是不是附上值
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#7

愛摔跤的小男孩 提問者 回復(fù) 慕沐2182660

public void acreage() { // TODO Auto-generated method stub double acreage = this.higher * this.longer; System.out.println("該矩形的面積為:" + acreage); }
2018-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

舉報

0/150
提交
取消

為什么在main函數(shù)中給子類賦值 運(yùn)行結(jié)果仍然為在子類中給屬性賦值的結(jié)果

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

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

幫助反饋 APP下載

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

公眾號

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