class Box{
double width;
double height;
double depth;
Box(Box ob){
width = ob.width;
height = ob.height;
depth = ob.depth;
}
Box(double w,double h,double d){
width = w;
height = h;
depth = d;
}
Box(){
width = -1;
height = -1;
depth = -1;
}
Box(double len){
width = height = depth =len;
}
double volume(){
return width*height*depth;
}
class BoxWeight extends Box{
double weight;
BoxWeight(double w,double h,double d,double m){
width = w;
height = h;
depth = d;
weight = m;
}
}
}
public class DemoBoxWeight { /**
* @param args
*/
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10,20,15,34.3);//问题出在这里
BoxWeight mybox2 = new BoxWeight(2,3,4,0.076);
double vol;
vol = mybox1.volme();
System.out.println("volume of mybox1 is " +vol);
System.out.println("volume of mybox1 is " +mybox1.weight);
System.out.println();
vol = mybox2.volume();
System.out.println("volume of mybox2 is " +vol);
System.out.println("volume of mybox2 is " +mybox2.weight); }}这个程序运行的时候,显示BoxWeight类无法解析?
为何?
double width;
double height;
double depth;
Box(Box ob){
width = ob.width;
height = ob.height;
depth = ob.depth;
}
Box(double w,double h,double d){
width = w;
height = h;
depth = d;
}
Box(){
width = -1;
height = -1;
depth = -1;
}
Box(double len){
width = height = depth =len;
}
double volume(){
return width*height*depth;
}
class BoxWeight extends Box{
double weight;
BoxWeight(double w,double h,double d,double m){
width = w;
height = h;
depth = d;
weight = m;
}
}
}
public class DemoBoxWeight { /**
* @param args
*/
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10,20,15,34.3);//问题出在这里
BoxWeight mybox2 = new BoxWeight(2,3,4,0.076);
double vol;
vol = mybox1.volme();
System.out.println("volume of mybox1 is " +vol);
System.out.println("volume of mybox1 is " +mybox1.weight);
System.out.println();
vol = mybox2.volume();
System.out.println("volume of mybox2 is " +vol);
System.out.println("volume of mybox2 is " +mybox2.weight); }}这个程序运行的时候,显示BoxWeight类无法解析?
为何?
你定义的都是double的
但是new的时候前面3个是整型的
BoxWeight 是Box的一个内部类了
改成下面这样
class Box {
double width;
double height;
double depth; Box(Box ob) {
width = ob.width;
height = ob.height;
depth = ob.depth;
} Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
} Box() {
width = -1;
height = -1;
depth = -1;
} Box(double len) {
width = height = depth = len;
} double volume() {
return width * height * depth;
}
}
class BoxWeight extends Box {
double weight; BoxWeight(double w, double h, double d, double m) {
width = w;
height = h;
depth = d;
weight = m;
}
}public class DemoBoxWeight { /**
* @param args
*/
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10, 20, 15, 34.3);// 问题出在这里
BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076);
double vol;
vol = mybox1.volume();
System.out.println("volume of mybox1 is " + vol);
System.out.println("volume of mybox1 is " + mybox1.weight);
System.out.println(); vol = mybox2.volume();
System.out.println("volume of mybox2 is " + vol);
System.out.println("volume of mybox2 is " + mybox2.weight); }}
LZ 你再看看 BoxWeight 在哪里定义的?是可访问的吗?
这样你就把你的BoxWeight这个类放在Box里面了,就成了内部类了。
所以就提示解析不了。
中间就好了