高新技术1-16

本文介绍了Eclipse的视图管理、程序调试、模板配置等实用技巧,并深入探讨了Java5的新特性,包括静态导入、可变参数、增强型for循环、枚举类型及其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

eclipse视图管理与程序调试

 

如何调试:双击添加断点,右键选择debug。如何查看变量值:选择要查看的变量值,右键选择watch。

 

配置eclispe的编译与运行环境

 

注意低版本的java不能运行高版本的javac编译的程序,反之则行。

 

 

在eclispe中配置java模板代码

 

如何添加java模板代码:Preferences>java>Editor>Templates>New

如name:tryf.pattern:try{${line_selection}(表示选择的内容)}finally{${${cursor}(光标停靠位置)}

 

在eclipse中导入已有的工程

把工程放到工作台目录下,在eclipse下选择File>Import

选择General>Existing Project into WorkSpace

再选择工程目录.  

注意问题:要考虑原来的运行环境,jre system library就有区别,如果原来的jre和现在的jre版本不同,就要选择工程右键选择build path>Configure build path..

把jdk的库删掉,然后添加自己的库

 

java5的静态导入与编译器语法设置

 

import语句可以导入一个类或某包的所有类,只是为了少写前缀

import static导入一个类中的某个静态方法或所有静态方法

如import static java.lang.Math.max;这样就可以直接调用max()而不加Math前缀了

import static java.lang.Math.*; 导入所有的静态方法,都不用加Math前缀

注意:jdk1.4是没有静态导入这个特性.

 

 

可变参数与OverLoad相关面试题分析

可变参数的特点:

只能出现在参数列表的最后:

...位于变量类型和变量名只间,前后有无空格都可以;

调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数.

Overload vs Override

Overload是重载的意思,Override是覆盖的意思,也就是重写.

可变参数举例:

public static int add(int x,int... args){

int sum=x;

for(int i=0;i<args.length;i++){

sum+=args[i];

}

return sum;

}

 

 

java5的增加for循环

语法:

for(typs 变量名: 集合变量名){}

注意事项:

迭代变量必须在{}中定义!

集合变量可以是数组或实现了iterable接口的集合类

举例:

publlic static int add(int x,int...args){

int sum=x;

for(int arg:args){

sum+=arg;

}

return sum;

}

 

 

基本数据的自动拆装箱及享元设计模式

例:

Integer iobj = 3;

System.out.println(iobj + 12);

 

Integer i1=13;

Integer i2=13;

Integer i3=137;

Integer i4=137;

System.out.println(i1==i2);   //true

System.out.println(i3==i4);   //fasle

 

 

享元模式  flyweight

有很多个小的对象他们有很多个属性相同,把他们变成一个对象,把那些不同的属性变成方法的参数,称为外部状态,相同属性称之为内部状态.

 

枚举

枚举的作用介绍:

枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。玫举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方法在开发阶段无法实现这一目标。

 

用普通类模拟枚举的实现原理

 

采用抽象方法定义nextday()将大量的if.else语句转移成了一个个独立的类

 

java5的玫举的基本应用

weekDay1 weekDay = WeekDay1.MON;

System.out.println(weekDay.nextDay()};

 

WeekDay weekDay2 = WeekDay.FRI;

System.out.println(weekDay2);

System.out.println(weekDay2.name());

System.out.println(weekDay2.ordinal());

System.out.println(WeekDay.valueOf("SUN").toString());

System.out.println(WeekDay.values().length);

 

 

实现带有构造方法的枚举

public enum WeekDay{

SUN(0),MON(1),TUE(0),WED,THI,FRI,SAT;

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

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值