首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

关于java中构造方法的有关问题

2012-01-30 
关于java中构造方法的问题class Aa{double x,y,zboolean boopublicAa(double a,double b,double c){xa

关于java中构造方法的问题
class Aa
{ double x,y,z;
  boolean boo;
  public Aa(double a,double b,double c)
  { x=a;
  y=b;
  z=c;
if(a+b>c&&a+c>b&&c+b>a)  
{ System.out.println("我是一个三角形");
boo=true;
 
  }
else
{ System.out.println("我不是一个三角形"); 
  boo=false;

  }
   
  public void 计算面积()
  { if (boo)
  { double p=(x+y+z)/2.0;
double area=Math.sqrt(p*(p-x)*(p-y)*(p-z));
System.out.println("面积是:"+area);
  } 
  else 
 
  { System.out.println("不是三角行,不能计算面积");
   
   
  } 
 
 
  }
   
   
}
  class Bruce 
{
  public static void main(String[] args) 
  { Aa lin=new Aa(10,9,4);
 
  lin.计算面积();
}

}
实例化对象时就会调用构造方法?使用new后第一条输出语句就输出了,一般实例化对象只会对成员变量初始化,只用调用方法时方法里面的语句才会被读取啊?我的意思是if(a+b>c&&a+c>b&&c+b>a)  
{ System.out.println("我是一个三角形");
boo=true;
 
  }
else
{ System.out.println("我不是一个三角形"); 
  boo=false;

不应该读取啊

[解决办法]
实例化后自动调用相应的构造方法,这是规定,记住吧,为什么说给变量初始化,是因为经常把给变量赋初值的这一操作放在构造方法中

热点排行