---------------------- android培训、java培训、期待与您交流! ----------------------
4.eclipse视图管理与程序调试
调试:双击添加断点,右键选择debug,选择要查看的变量值,右键选择watch就可以看到了
5.配置eclispe的编译与运行环境
设置javac和java 选择首选项,java版本要与javac的对应或比javac的高,即运行环境版本要对应或比编译器版本高
6.在eclispe中配置java模板代码
模板代码的应用 右键选择Surround With->try/catch Block 选择配置好的模板
添加java模板代码:首选项Preferences->java->Editor->Templates->New
如name:tryf
try{
${line_selection}(表示选择的内容)
}finally{
${cursor}(光标停靠位置)
}
java5的一些简单新特性
8.java5的静态导入
import语句可以导入一个类或某包的所有类,只是为了少写前缀
import static导入一个类中的某个静态方法或所以静态方法
如import static java.lang.Math.max;这样就可以直接调用max()而不加Math前缀了
9.可变参数
Overload和Override的区别
Overload是重载的意思,Override是重写。
可变参数举例:
add(int x,int... args){
int sum = x;
for(int i=0;i<args.length;i++){
sum += args[i];
}
return sum;
}
10.java5的增加for循环
语法:for(type 变量名:集合变量名){}
注意:
迭代变量必须在()中定义
集合变量可以是数组或实现了Iterable接口的集合
如:
add(int x,int... args){
int sum = x;
for(int arg : args){
sum += arg;
}
return sum;
}
11.基本数据的自动拆装箱
装箱:自动把一个基本数据类型装成一个对象。如:Integer iObj=2;
拆箱:把对象转换成基本数据类型如:println(iObj+12);因为Integer不支持加法。
享元模式(flyweight):有很多很小对象,他们有很多相同的东西,那你就可以把他们变成一个对象,还有一些不同的东西变成外部的属性作为方法的参数来传入。
Integer num1=12;
Integer num2=12;
System.out.println(num1 == num2);//整数是一个字节就共享一个对象
Integer num3=129;
Integer num4=129;
System.out.println(num3 == num4);
Integer num5=Integer.valueOf(12);
Integer num6=Integer.valueOf(12);
System.out.println(num5 == num6);
结果:true
false
true
12.枚举的作用介绍
就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就报错
13.用普通类模拟枚举的实现原理
1. 私有的构造方法
2. 每个元素分别用一个公有的静态成员变量表示。
3. 可以有若干公有方法或抽象方法,例如,要提供nextDay方法必须是抽象的。
4.采用抽象方法定义nextday()将大量的if.else语句转移成了一个个独立的类。
14.java5的枚举的基本应用
public enum WeekDay{
SUN,MON,TUE,WED,THI,FRI,SAT;
}
WeekDay weekDay = WeekDay.FRI;
System.out.println(weekDay);
System.out.println(weekDay.name());
System.out.println(weekDay.ordinal());//排行
System.out.println(WeekDay.valueOf("SUN").toString());//转换为枚举元素
System.out.println(WeekDay.values().length);//把枚举元素放到数组
15.实现带有构造方法的枚举
public enum WeekDay{
SUN(1),MON(),TUE,WED,THI,FRI,SAT; //SUN(1)就会指定带参数构造方法
private WeekDay(){
System.out.println("first");
}
private WeekDay(int day){//必须是私有
System.out.println("second");
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){
this.time =time;
}
}
枚举只有一个成员时,就可以作为一个单例的实现方式。???
---------------------- android培训、java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima