為啥調用不了
package com.imooc;
public class Telphone {
private float screen;
private float cpu;
private float mem;
? ?
? ?public void sendMessage(){
? System.out.println("send message。");
? ?}
public float getScreen() {
return screen;
}
public void setScreen(float screen) {
this.screen = screen;
this.sendMessage();
}
public float getCpu() {
return cpu;
}
public void setCpu(float cpu) {
this.cpu = cpu;
}
public float getMem() {
return mem;
}
public void setMem(float mem) {
this.mem = mem;
}
public Telphone(){
? System.out.println("無參數的構造方法執行了");
}
public Telphone(float newScreen,float newCpu,float newMem){
? if(newScreen<3.5f){
??
? System.out.println("您輸入的參數值有問題,自動賦值為3.5");
? screen=3.5f;
? }
? else
? {
? screen=newScreen;
??
? }
? cpu=newCpu;
? mem=newMem;
??
? System.out.println("有參數的構造方法執行了screen:"+this.getScreen());
}
}
結果:
無參數的構造方法執行了
有參數的構造方法執行了screen:5.0
為什么沒有顯示send Message
2017-03-02
你是想試驗this關鍵字嗎?
public void setScreen(float screen) {
this.screen = screen;
this.sendMessage();//不知道你把調用方法放這個屬性set里是想干啥!?
}
但是你要用this關鍵字調用send方法可以在構造方法中使用實現你要的輸入
public Telphone(){
? System.out.println("無參數的構造方法執行了");
? this.sendMessage();//用this關鍵字調用
}
public Telphone(float newScreen,float newCpu,float newMem){
? if(newScreen<3.5f){
? System.out.println("您輸入的參數值有問題,自動賦值為3.5");
? screen=3.5f;
? }
? else
? {
? screen=newScreen;
??
? }
? cpu=newCpu;
? mem=newMem;
? System.out.println("有參數的構造方法執行了screen:"+this.getScreen());
? this.sendMessage();//用this關鍵字調用
}
2017-03-02
因為你的主函數main()、主函數調用的telphone()、telphone(float,float,float)都沒有調用過sendMessage()方法,也就是你的sendMessage()方法沒被運行過
2017-03-02
新人,為了積分湊個熱鬧。問題是最后一句的“為什么沒有顯示send Message”吧?方法sendmessage,并沒有見到有調用。
phone與phone2調用的都是telphone()方法啊,而telphone()方法并沒有調用你需要的send。。。