A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 云里雾里 中级黑马   /  2015-9-12 16:10  /  564 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Rectangle {
        private double a;
        private double b;
        public Rectangle(){
                this.a = 0;
                this.b = 0;
        }
        public Rectangle(double a,double b){
                this.a = a;
                this.b = b;
        }
        public double getRectangleA(){
                return a;
        }
        public double getRectangleB(){
                return b;
        }
        double s = a*b
        public void print(){
                System.out.print(s);
        }
}
....
public class Test9 {

        public static void main(String[] args) {
                Rectangle rt = new Rectangle(2.0, 4.0);
                rt.print();
       }
}
这是我封装的矩形类,然后在对象实例化调用print()方法,输出结果为0.0;而将double s= a * b删掉,直接在print()方法中system。out。print(a*b),输出结果是对的,这是什么原因啊?

2 个回复

倒序浏览
变量s在实例化Rectagle时就已执行,故其为s=a*b=0.0*0.0 = 0;
回复 使用道具 举报
yanmingwang 发表于 2015-9-12 16:25
变量s在实例化Rectagle时就已执行,故其为s=a*b=0.0*0.0 = 0;

谢谢,一语惊醒,明白了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马