Java继承-无法找到要在对象上调用的方法? [英] Java Inheritance - cannot find method to invoke on object?
本文介绍了Java继承-无法找到要在对象上调用的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
首先,我有三节课.一个叫做:
To begin with I have three classes. One called:
-
温度(超类)
Temperature (superclass)
天气(超类)
UseTemperature(保存主方法的子类)
UseTemperature (subclass that holds main method)
对于此程序,主要方法应仅显示以摄氏度为单位的温度和风速.我不知道问题出在什么地方.
For this program the main method is only supposed to display the temperature in Celsius and wind speed. I do not know what the issue is though..
我的问题是,在UseTemperature中找不到setWindSpeed/getWindSpeed.
//TEMPERATURE:
public class Temperature
{
private double degrees;
public void setDegrees (double degrees)
{
this.degrees = degrees;
}
public double getDegrees ()
{
return degrees;
}
/////////////////////////////////////////////////////////////////////////////////////////
//WEATHER:
public class Weather extends Temperature
{
private double windspeed; // Number + km/h
private void setWindSpeed (double windspeed) //setter
{
this.windspeed = windspeed;
}
public double getWindSpeed () //getter
{
return windspeed;
}
}
/////////////////////////////////////////////////////////////////////////////////////////
//USE TEMPERATURE:
class UseTemperature // can be public but makes no diffrence
{
public static void main (String args[])
{
Temperature temp;
temp = new Temperature ();
temp.setDegrees (40.0);
temp.setWindSpeed (70.0); // NOT FOUND IN TEMPERATURE
System.out.print (temp.getDegrees ());
System.out.print (" degrees ");
System.out.println (temp.getWindSpeed()); // NOT FOUND IN TEMPERATURE
System.out.println (" km/h");
}
}
推荐答案
类Temperature
不包含方法setWindSpeed
或getWindSpeed
.您需要创建一个Weather
对象,并使这些方法可访问以调用它们.
The class Temperature
does not contain the methods setWindSpeed
or getWindSpeed
. You would need to create a Weather
object and make those methods accessible to call them.
Weather myWeather = new Weather();
// set/get ...
这篇关于Java继承-无法找到要在对象上调用的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文