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

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

為什么沒有賦值上呢?輸出的是0和0.00

package com.dyd;


public class Project {

? ? int num;

? ? float cpu;


public static void main(String[] args) {

//給屬性賦值

Project hello=new Project();

// hello.num=3;

// hello.cpu=2.9f;

hello.show();

// shows.num=2;

// shows.cpu=1.9f;

// shows.show();

?

}

public void show() {

Project hello=new Project();

hello.num=3;

hello.cpu=2.9f;

System.out.println("num:"+num+"cpu:"+cpu);

}


}


正在回答

8 回答

然后你show方法里打印的num 和cpu是main方法中對象的屬性

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

仿佛說呢 提問者

明白了,就是搞不清楚靜態(tài)成員變量和非靜態(tài)成員變量如何調(diào)用和輸出的?
2019-08-07 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Coln 回復(fù) 仿佛說呢 提問者

靜態(tài)成員變量是在加載該類是就被執(zhí)行的,不能被實例化對象調(diào)用,只能通過類來調(diào)。這個的話還是建議找一下static的視頻看一下
2019-08-07 回復(fù) 有任何疑惑可以回復(fù)我~

你給的是成員變量的值,而方法內(nèi)的值是要加hello.num

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

https://img1.sycdn.imooc.com//5d5f4c080001cd9206440411.png

靜態(tài)與非靜態(tài)的調(diào)用

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

你的show方法重新定義了一個對象,和main方法中的對象不是同一個

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

我們先來看show這個方法,

public void show() {

????Project hello=new Project();//一、實例一個對象Project->hello,我們知道實例出來的對象在內(nèi)存,我們先稱它為? 內(nèi)存1號hello對象

????hello.num=3;//二、將 內(nèi)存1號hello對象 的num 賦值為3

????hello.cpu=2.9f;//三、將?內(nèi)存1號hello對象?的cpu賦值為2.9f

????System.out.println("num:"+num+"cpu:"+cpu);//四、將變量num,變量cpu的值打印出來。

}

我們著重看下第四句話,我們知道,java語言中,要使用一個變量必須先聲明并初始化,這里我們并沒有看到有聲明或和初始化變量num,變量cpu的語句,那么這句話編譯的時候為什么沒有報錯。這時我們就要看下show()這個成員方法屬于的類中有沒有對應(yīng)的變量。

public class Project {

? ? int num;

? ? float cpu;

}

我們看到的是,Project是有成員變量量? 整形的 num 和 浮點型的 cpu。

那么其實我們看到的show()方法中的num和cpu,是this.num? 和 this.cpu 的縮寫,指的是 他們分別是 Project 這個類兩個成員變量的引用。由于分別是整形和浮點型,我們在main()方法入口,執(zhí)行Project hello=new Project();進行實例化時,就會對其成員變量中屬于基本數(shù)據(jù)類型的他們進行初始化賦值。整形=0,浮點型=0.00.

如果你是想對成員變量賦值,而不是對show()方法里的局部變量賦值,在類內(nèi)部中,建議你加上 this 字段,用this.num=3 這樣語句賦值。快速定位而且具有可讀性。

?

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

我的意思是成員變量的賦值怎么錯了,輸出成員變量的值,并不是給局部變量賦值,并輸出。

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

public class Project {

? ? int num;

? ? float cpu;

這是成員變量

public void show() {

num=3;

cpu=2.9f;

方法內(nèi)部是局部變量

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

package com.dyd;


public class Project {

? ? int num;

? ? float cpu;


public static void main(String[] args) {

//給屬性賦值

Project hello=new Project();

// hello.num=3;

// hello.cpu=2.9f;

hello.show();

// shows.num=2;

// shows.cpu=1.9f;

// shows.show();

?

}

public void show() {

num=3;

cpu=2.9f;

System.out.println("num:"+num+"cpu:"+cpu);

}


}


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

仿佛說呢 提問者

給成員變量賦值不是應(yīng)該先把類實例化出來,通過實例化的對象給成員變量賦值嗎?
2019-08-05 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么沒有賦值上呢?輸出的是0和0.00

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

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

幫助反饋 APP下載

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

公眾號

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