装箱和拆箱(jdk1.5之后的新特性)
基本类型包装器
区别:基本类型重效率﹑包装器重功能
例:
package com.dayuanit.test;
public class TestLesson009 {
public static void main(String[] args) {
int a = 10;
Integer b = a;//(装箱)
System.out.println(b);//输出10
Integer c = new Integer(10);
int d = c;//(拆箱)
System.out.println(d);//输出10
}
}
包装器类
基本类型:byte﹑short﹑char﹑int﹑long﹑float﹑double﹑boolean
包装类:Byte﹑Short﹑character﹑Integer﹑Long﹑Float﹑Double﹑Boolean
package com.dayuanit.test;
public class TestLesson009 {
public static void main(String[] args) {
Integer a = new Integer(10);
Integer b = new Integer(10);
System.out.println(a == b);//false
System.out.println(a.equals(b));//true
}
}
==比较的是内存地址
Q:火星车的升级
1、常量的设置﹑提取(可单独放一类)
2、包的静态导入(import static 包名.类名.*)
3、方法的命名、分步设置
4、方法权限的限制(只读) 例:xy轴
逻辑错误示范:
package com.dayuanit.two;
import static com.dayuanit.car.constart.CarConstart.*;
public class TwoDimensional {
//(x,y)
private int abscissa;
private int ordinate;
public int getAbscissa() {
return abscissa;
}
public int getOrdinate() {
return ordinate;
}
public TwoDimensional() {
}
public TwoDimensional(int abscissa,int ordinate) {
this.abscissa = abscissa;
this.ordinate = ordinate;
}
//前进
public void goForward() {
ordinate += Size;
this.setOrdinate() = ordinate;
}
A:goForward方法里的最后一句没有必要。变量已经保存在ordinate中,无须再调用setOrdinate()方法。