黑马程序员 (高新技术)Myeclipse基本介绍与jdk1.5部分新特性学习总结

---------------------- 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值