第13行解析:score 是 private修饰,而内部类和外部类在编译成class文件后其实是同包类。所以不能直接访问,得写HelloWorld.score
第21行解析:当HelloWorld类装载时,会装载一切静态资源(static修饰的),因为静态资源是属于类的并且只有一份,这个时候其实SInner类已经存在于 方法区 (java内存机制) (意思是在内存里已经有它) 。所以后续实例化不需要经过外部类,直接自己new自己就行。
第21行解析:当HelloWorld类装载时,会装载一切静态资源(static修饰的),因为静态资源是属于类的并且只有一份,这个时候其实SInner类已经存在于 方法区 (java内存机制) (意思是在内存里已经有它) 。所以后续实例化不需要经过外部类,直接自己new自己就行。
2016-12-16
其实16行可以写 this.name 这样更严谨。(当然了,java有就近原则,所以this.name和name效果一样),为了便于理解,还是写this.name比较好。
2016-12-16
其实标准的实例化内部类是这样的:HelloWorld.Inner in = HelloWorld.new Inner();
2016-12-16
使用this可以区分set方法的入参和当前类的成员属性。因为java里当行参和类成员重名时,有就近原则。使用this更安全严谨。
2016-12-16
老师,有参构造里,if里的逻辑有点问题,应该是newScreen = 3.5f; 这样的话,后面的三句赋值不用改。目前你这样写,其实并没有修改成功。也许可以重写一下 手机类的toString方法,方便打印测试、
2016-12-16
package 答答租车系统;
public class car {
static String carName[]={"奥迪A4","马自达6","皮卡雪6","金龙","松花江","伊推柯"}; //车名数组
static int zhuJin[]={500,400,450,800,400,1000}; //车租金数组
static int zaiRen[]={4,4,4,20,0,0}; //车载人数 数组
static int zaiHuo[]={0,0,2,0,4,20}; //车载货量 数组
}
public class car {
static String carName[]={"奥迪A4","马自达6","皮卡雪6","金龙","松花江","伊推柯"}; //车名数组
static int zhuJin[]={500,400,450,800,400,1000}; //车租金数组
static int zaiRen[]={4,4,4,20,0,0}; //车载人数 数组
static int zaiHuo[]={0,0,2,0,4,20}; //车载货量 数组
}