请大家为我解析一下, 说的详细我不怪你!!!
package bbx;public class Box {
private int chang;
private int kuan;
private int gao;
public int getChang() {
return chang;
}
public void setChang(int chang) {
this.chang = chang;
}
public int getGao() {
return gao;
}
public void setGao(int gao) {
this.gao = gao;
}
public int getKuan() {
return kuan;
}
public void setKuan(int kuan) {
this.kuan = kuan;
}
public int computeArea(){ //表面积
return chang*kuan*2+chang*gao*2+kuan*gao*2;
}
public int computeVolume(){ //体积
return chang*kuan*gao;
}
public void display(){
System.out.println("长"+chang);
System.out.println("宽"+kuan);
System.out.println("高"+gao);
}
}测试类:
package bbx;public class Test { /**
* @param args
*/
public static void main(String[] args) {
Box bx;
bx=new Box();
bx.setChang(5);
bx.setGao(6);
bx.setKuan(4);
bx.display();
bx.computeArea();
bx.computeVolume();
}}
打印结果是:
长5
宽4
高6问:1.为什么我不可以调用返回的那个方法,打印不出来表面积和体积?
2.应该怎么写?为什么?(我是初学者,找不到人问!!没办法!!谢谢大家帮帮小弟!)
package bbx;public class Box {
private int chang;
private int kuan;
private int gao;
public int getChang() {
return chang;
}
public void setChang(int chang) {
this.chang = chang;
}
public int getGao() {
return gao;
}
public void setGao(int gao) {
this.gao = gao;
}
public int getKuan() {
return kuan;
}
public void setKuan(int kuan) {
this.kuan = kuan;
}
public int computeArea(){ //表面积
return chang*kuan*2+chang*gao*2+kuan*gao*2;
}
public int computeVolume(){ //体积
return chang*kuan*gao;
}
public void display(){
System.out.println("长"+chang);
System.out.println("宽"+kuan);
System.out.println("高"+gao);
}
}测试类:
package bbx;public class Test { /**
* @param args
*/
public static void main(String[] args) {
Box bx;
bx=new Box();
bx.setChang(5);
bx.setGao(6);
bx.setKuan(4);
bx.display();
bx.computeArea();
bx.computeVolume();
}}
打印结果是:
长5
宽4
高6问:1.为什么我不可以调用返回的那个方法,打印不出来表面积和体积?
2.应该怎么写?为什么?(我是初学者,找不到人问!!没办法!!谢谢大家帮帮小弟!)
Box box = new Box(3, 4, 5);
System.out.println("盒子:" + box.toString());
System.out.println("表面积:" + box.getArea());
System.out.println("体积:" + box.getVolume());
}
}class Box {
private int length;
private int width;
private int height;
private int area = -1;
private int volume = -1;
public Box(int length, int width, int height) {
this.length = length;
this.width = width;
this.height = height;
}
public int getArea() {
if(area == -1) {
area = 2 * (length * width + length * height + width * height);
}
return area;
}
public int getVolume() {
if(volume == -1) {
volume = length * width * height;
}
return volume;
}
public String toString() {
return "长:" + length + ",宽:" + width + ",高:" + height;
}
public int getLength() {
return length;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
}
可以在构造方法中就全部设定。
我在测试类加上这个就可以了
System.out.println(bx.computeArea());
System.out.println(bx.computeVolume());
谢谢啊。
真是一言惊醒梦中人啊
先创建一个抽象类, 然后用Box类继承这个抽象类, 再创建Test类abstract class A
{
public abstract void getArea();
public abstract void getVolume();
}class Box extends A
{
private int length;
private int width;
private int height;
public Box(int length,int width,int height)
{
this.length=length;
this.width=width;
this.height=height;
}
public int getLength()
{
return length;
}
public int getWidth()
{
return width;
}
public int getHeight()
{
return height;
}
public void getArea()
{
int area=2 * (length * width + length * height + width * height);
System.out.println ("Area:"+area);
}
public void getVolume()
{
int volume=length*width*height;
System.out.println ("Volume:"+volume);
}
}//创建对象
public class Test{
public static void main (String[] args) {
Box box=new Box(3,4,5);
System.out.println ("Box:"+" Length:"+box.getLength()+" Width:"+box.getWidth()+" Height:"+box.getHeight());
box.getArea();
box.getVolume();
}
}
Area:94
Volume:60
bx.computeArea();
bx.computeVolume();
返回整型值但是没有输出