Java继承-无法找到要在对象上调用的方法? [英] Java Inheritance - cannot find method to invoke on object?

查看:81
本文介绍了Java继承-无法找到要在对象上调用的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,我有三节课.一个叫做:

To begin with I have three classes. One called:

  1. 温度(超类)

  1. 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不包含方法setWindSpeedgetWindSpeed.您需要创建一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆