为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会是这个结果

为什么会是这个结果

另种方式 2015-10-28 22:56:22
package com.imooc; public abstract class Shape { public abstract void Circum(); public abstract void Area(); } public class Rectangle extends Shape { float a,b,area1,circum; public void init(){ a=10f; b=9f; } public void Area(){ area1=a*b; System.out.println("矩形的面积为"+area1); } public void Circum(){ circum=2*(a+b); System.out.println("矩形的周长为"+circum); } } public class Circle extends Shape { public float r; public double Arae1,Circum1; public void init(){ r=5f; } @Override public void Area() { // TODO Auto-generated method stub Arae1=3.14*r*r; System.out.println("圆的面积是"+Arae1); } @Override public void Circum() { // TODO Auto-generated method stub Circum1=3.14*2*r; System.out.println("圆的周长是"+Circum1); } } public class Initail { /**  * @param args  */ public static void main(String[] args) { // TODO Auto-generated method stub Shape R1=new Rectangle(); Shape C2=new Circle(); R1.Area(); R1.Circum(); C2.Area(); C2.Circum(); }矩形的面积为0.0矩形的周长为0.0圆的面积是0.0圆的周长是0.0
查看完整描述

2 回答

已采纳
?
天启之魂

TA贡献174条经验 获得超85个赞

没写构造函数 成员变量 都没赋值 默认赋值为0  所以你答案全是0

查看完整回答
反对 回复 2015-10-29
  • 另种方式
    另种方式
    我明白了,我虽然写了一个初始化函数但根本就没有调用,如果我写的是构造方法它就会自己在创建对象的时候就调用。
  • 天启之魂
    天启之魂
    还有就是float基本不怎么用了 需要小数 直接定义double就好,早期内存很小才使用float的,小数的默认类型也是double
  • 另种方式
    另种方式
    嗯,明白。
?
siiv

TA贡献1条经验 获得超0个赞

表示不认得init(),这是什么存在?

查看完整回答
反对 回复 2015-10-28
  • 2 回答
  • 0 关注
  • 1380 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信