java - 如何初始化在 Java 中创建的变量?

标签 java class object

class temperature {
    public double degrees = 0;
    public boolean isCelcius = false;

    public double returnDegrees(){
        return this.degrees;
    }

    public void setTemperature(double temeperatureT, boolean isCelciusT){
        this.degrees = temeperatureT;
        this.isCelcius = isCelciusT;
    }

    public void convertToC (){
        if (this.isCelcius == false) {
            this.degrees = ( 5 * (degrees - 32) ) / 9;
            this.isCelcius = true;
        }
        return;
    }

    public void convertToF (){
        if (this.isCelcius == true){
            this.degrees = ( ( 9 * degrees ) / 5 ) + 32;
            this.isCelcius = false;
        }
        return;
    }   
}



 public static temperature convertStringToTemperature(String tempString){
        temperature tempTemp;
        String split[] = tempString.split(" ");
        tempTemp.degrees = Double.parseDouble( split[0] )
        if (split[1] == "F")
            tempTemp.isCelcius = false;
        else if(split[1] == "C")
            tempTemp.isCelcius = true;
        else{
            System.out.println("error determining units");
            tempTemp.isCelcius = true;
        }

        return tempTemp; 
    }

对于代码:

>tempTemp.setTemperature(Double.parseDouble( split[0] ), true);

它说变量 tempTemp 可能尚未初始化,尽管下面没有说明该变量的其他用途。我的问题是什么?

谢谢,这是我第一次用java制作自定义类。

最佳答案

那是因为您只创建了对对象的引用,而没有创建对象本身。

temperature tempTemp = new temperature();

现在引用已初始化为指向真实对象。

关于java - 如何初始化在 Java 中创建的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26108619/

相关文章:

C++创建没有默认构造函数的对象数组

java - 使用扫描仪和文本文件获取一行中的某个字符串

java - 如何使用 gradle 将依赖项打包到 Grails 3 插件中?

java - 创建任务[]任务数组

javascript - 为什么 Sequelize 中会返回 Promise

javascript - .map 不是 javascript 中的函数

java - 在运行时更改 TreeMap 的比较器

java - 是否可以使用通配符创建路由?

javascript - 如何在 Javascript 中制作自定义对象?

c++ - 如何在主函数中访问订阅者类的公共(public)变量?