Java程序可能尚未初始化变量

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:48:00
public class Computer{
public static void main(String args[]){
Rational r1;
r1.setNumeratorAndDenominator(1,5);
Rational r2;
r2.setNumeratorAndDenominator(3,2);
Rational result=r1.add(r2);
int a=result.getNumerator();
int b=result.getDenominator();
double p=a;
double q=b;
double doubleResult=p/q;
System.out.print("分数"+r2.getNumerator()+"/"+r2.getDenominator());
System.out.print("与分数"+r2.getNumerator()+"/"+r2.getDenominator()+"的和等于");
System.out.println(a+"/"+b+"="+doubleResult);
r1.setNumeratorAndDenominator(4,7);
r2.setNumeratorAndDenominator(-5,20);
result=r1.muti(r2);
a=result.getNumerator();
b=result.getDenominator();
p=a;
q=b;
doubleResult=p/q;
System.out.print("分数"+r1.getNumerator()+"/"+r1.getDenominator());
System.out.print("与分数"+r2.getNumerator()+"/"+r

Rational r1; 只是声明有r1这个Rational 对象的存在,但是并没有给r1分配地址。所以r1现在是实际不存在的一个对象。
Rational r1 = new Rational(); new 表示给r1分配地址,这时候r1才真正指向某个值。

Rational r1 = new Rational();
Rational r2 = new Rational();

Rational r1;
这个时候r1不指向任何实际的对象
r1.setNumeratorAndDenominator(1,5);
因此这儿不能使用r1.???