---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一.对eclipse和myeclipse
Eclipse是一个集成开发环境(IDE),都是使用工程化方式管理一个项目的程序开发过程,一个工程中涉及很多的java文件,资源文件等用一个工程进行管理,这样的化就更加的便于管理。myeclipse是一个eclipse的插件。
Workspace与project:一个工作间可以包含多个工程,一个工作间保留了一套eclipse的环境选项配置,
Perspective与view:一个透视图中包含多个视图
二.myeclipse的使用技巧
1. 配置eclispe的编译与运行环境
Window-->preferences-->java-->Compiler(编译)//Installed JREs(运行设置)
2. eclipse工程管理与快捷键配置
Window-->preferences(首选项) -->General(整体) -->Keys-->content assist(内容助理)
3. 在eclispe中配置java模板代码
Window-->preference-->java-->editor-->Templates-->new…
代码中运用:右键-->surroundwith
例如:
try{
${line_selection}
}finally{
${cursor}
}
4. 在eclipse中导入已有的工程
File-->Import-->General(ExistingProjects into workspace)
5.向工程中添加库,jar包
File-->build path 添加库。Jar包
三.java5的一些简单新特性
1. java5的静态导入
在一个程序的起始位置将一个类包中的方法直接导入,可以减少书写
例如:
如果没有使用静态导入则要写如下代码,编译器不报错
System.out.println(Math.max(1,3));
如果使用了静态导入
Import static java.lang.Math.*;//导入其所有的静态方法
System.out.println(max(1,3));//这样就可以简化书写了
2. 可变参数、OverLoad与Override
可变参数的特点:
(1).只能出现在参数类表的最后面
(2).…位于变量类型和变量名之间,前后有无空格都可以
(3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
OverLoad与Override的区别
OverLoad是重载,方法名一样,参数个数或者参数类型不一样;如果单单返回值不一样,其他一样不能叫重载,而且编译会报错;
Override是重写,即子类和父类中方法名,参数个数,类型,返回值一样,如果父类方法被私有,则不叫重写,而是两个不同的方法。
3. java5的增加for循环
for(type 变量名:集合变量名){…}
注意事项:
1.迭代变量必须在()中定义!!!
2.集合变量可以是数组或实现了iterable接口的集合类;
4. 基本数据的自动拆装箱及享元设计模式
细节:(1)当-128~-127这个范围内,则这样的对象就是一样的
(2)Integer.valueOf(11);这样手动装箱的,跟上面的是一样的
{字符串对象的特点:
String s = new String("abc");
String s1 = new String("abc");
System.out.println(s == s1);//false,比较的是哈希值,在内存中不一样
System.out.println(s.equals(s1));//true,其本身有自己的equals方法
}
【享元模式àflyweight】
如果有很多很小的对象,而且他们都具有很多相同的东西,那么我们就可以将他们变成一个对象,这样的话就节约了资源;含有很多不同的东西,把他们变成外部的属性,作为方法的参数传入..
四.Java5中的枚举
1. 枚举的作用介绍
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普遍变量的方式在开发阶段无法实现这一目标。
2. 用普通类模拟枚举的实现原理
用普通类如何实现枚举动能,定义一个Weekday的类来模拟枚举功能
(1)私有的构造方法
(2)每一个元素分别用一个公有的静态成员变量表示
(3)可以有若干公有方法或抽象方法,例如:要提供nextDay方法必须是抽象的,
使用匿名内部类来分别实现该方法
public abstract class WeekDay1{
private WeekDay1(){}
public static final WeekDay1SUN = new WeekDay1(){
@Override
public WeekDay1nextDay() {
return MON;
}
@Override
public String toString() {
// TODO Auto-generatedmethod stub
return "Sunday";
}
};
。。。
public abstract WeekDay1nextDay();
public abstract String toString();
}
3. java5的枚举的基本应用
定义在内部,用enum关键字修饰
public enum WeekDay{
SUN,MON,THU,WEN,THR,FRI,SAT;
}
4. 实现带有构造方法的枚举
(1).枚举中的构造方法,要放在元素列表之后,并且列表末尾要用分号(;)隔开
(2).枚举的构造方法要是私有的,默认情况下,在创建对象时,默认调用的是空构造方法。
(3).枚举只要一被调用,元素列表中的各个元素,就会调用其构造方法,创建自身对象
(4).可以通过在各个元素后面添加()来指定,创建时调用哪一个构造方法,如MON(1)调用的就是第二个构造方法,传递相应类型的参数。
public enum WeekDay{
SUN(1),MON,THU(2),WEN,THR,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
外部类只有两个访问修饰符:pubic 和 默认
外部类有四个访问修饰符:public、默认、protected、private
5. 实现带有抽象方法的枚举
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
YELLOW(10){
public TrafficLamp nextLamp(){
return RED;
}
},
GREEN(30){
public TrafficLamp nextLamp(){
return YELLOW;
}
};
public abstract TrafficLamp nextLamp();
private int time = 0;
private TrafficLamp(int time){this.time = time;}
在各个元素后面后面跟上{},其中写上要实现的抽象方法。列表中的元素,相当于该枚举类型的子类,子类后面接{},相当于子类具体实现父类中的抽象方法。
t'��!p<���i�an>}
};
public abstract TrafficLamp nextLamp();
private int time = 0;
private TrafficLamp(int time){this.time = time;}
在各个元素后面后面跟上{},其中写上要实现的抽象方法。列表中的元素,相当于该枚举类型的子类,子类后面接{},相当于子类具体实现父类中的抽象方法。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com