------ android培训、java培训、java基础学习技术总结、期待与您交流! ----------
一、eclipse的使用技巧
* 简写
* java ee -->enterprise environment
* ide -->itegrity development environment
* NetBean sun公司开发的免费开源的集成开发工具
* JBuilder 因为收费 所以没落了
* jms
* jmx
* jndi
* 设置整个workspace的javac与java
* 设置单个的javac与java
* 高版本的java能否运行低版本的javac编译的程序?
* 低版本的javac能否运行高版本的javac编译程序?
*
* eclipse工程管理与快捷键配置
* preferences -->首选项
* 可以手动的设置快捷键 preferences -->general -->keys-->content Assist
* 例如:System.out.println(); -->Alt+/
* 代码模版的设置位置: java-->editor-->Templates
* try{ ${line_selection }finnaly{ ${cursor} }
* 可以手动配置编译器和运行器的版本
* a. 工作区间的编译器与运行器 preferences -->Java-->Compiler
* b.单个项目的编译器与运行器 project -->preferences-->Compiler
*
* switch workspace -->切换工作区间
* 包名 -->公司 网址.具体包含义
* 透视图 -->由多个视图组成,方便使用
* 例如:Java perspective Myeclipse Java enterprise perspective
* Debug perspective
示例1:
public class EclipseUse { public static void main(String[] args) { int x=1; x++; System.out.println(x); } }
二、Jdk 1.5的新特性
1. 静态导入
* Math.max(3,6); -->求最大值
* Math.abs(3-6); -->求绝对值
* import static java.lang.Math.*;
* max(3,6); //jdk 1.5的新特性
* max(3-6); //静态导入后不用在写Math类名。
示例2:
import static java.lang.Math.max; import static java.lang.Math.abs; public class StaticImport { public static void main(String[] args) { int x=1; System.out.println(x); System.out.println(max(3,6)); System.out.println(abs(3-6)); } }
*2.可变参数
* overload与override的区别
* 问题:一个方法接受的参数个数不固定
* System.out.println(add(2,3,5));
* System.out.println(add(1,2,3,5));
* 可变参数的特点:
* 只能出现在参数列表的最后;
* 位于变量类型和变脸名之间,前后有无空格都可以;
* 调用可变参数的方法是,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
示例3:
public class VariableParameter { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(add(2,3)); System.out.println(add(2,3,5)); } public static int add(int x,int... args){ int sum=0; /*for(int i=0;i<args.length;){ sum+=args[i]; }*/ for(int arg:args){ sum+=arg; } return sum; } }
3.增强for循环
* 语法
* for(type 变量名:集合变量名){}
* 注意事项:
* 迭代变量必须在()中变量定义!
* 集合变量可以是数组或实现了Iterable接口的集合类
* 举例:
* public static int add(int x,args){
* int sum=x;
* for(int arg:args){
* sum+=arg;
* }
* return sum;
* }
4.基本数据类型的装箱与拆箱
示例4:
public class AutoBox { public static void main(String[] args) { Integer iObj=3; //jdk 1.5一下的版本是不可以这样复制的 //对3进行了自动的装箱 System.out.println(iObj+12); //对3进行了自动的拆箱 String s1=new String("abc"); String s2=new String("abc"); Integer i1=12; Integer i2=12; System.out.println(i1==i2); //结果为true 这里用到了享元模式-->flyweight //减少创建对象次数, Integer i3=Integer.valueOf(12); Integer i4=Integer.valueOf(12); System.out.println(i3==i4); } }
5.枚举
* 为什么要有枚举
* 问题:要定义星期几或性别的变量,该怎么定义?假设1-7分别表示星期一到星期日
* ,但有人可能或写成int weekDay=0;
* 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译
* 器报错。枚举可以让编译器在编译时就可以控制程序中填写的非法值,
* 普通变量的方式在开发阶段无法实现这一目标。
* 用普通类如何实现枚举功能,定义一个WeekDay的类来模拟枚举功能。
* 私有的构造方法
* 每个元素分别用一个公有的静态成员变量表示
* 可以有若干个公有的方法或抽象方法,例如,要提供nextDay方法必须是抽象的。
* 枚举的基本应用
* 举例:定义一个weekDay的枚举;
* 扩展:枚举类的values,valueOf,name,toString,ordinal等;
* 总结:枚举是一种特殊的类,其中每一个元素都是该类 的一个实例对象,例如可以调用
* WeekDay.SUN.getClass().getName()和WeekDay.class.getName()
* 枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法。
* 枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后面有分号与其他成员分隔。把枚举中的成员方法或变量的放在枚举元素的前面,编译器报告错误。
* 没构造方法的枚举
* 构造方法必须定义私有的
* 如果有多个构造方法,该如何选择那个构造方法?
* 枚举元素MON和MON(),的效果是一样,都调用了默认的构造方法。
* 带方法的枚举
* 定义枚举TrafficLamp
* 实现普通的next()方法
* 实现抽象的next():每个元素分别是由枚举来生成的实例对象,这些子类采用类似内部类的方式进行定义。
* 增加上表示时间的构造方法
* 枚举只有一个成员是,就可以作为一种单例的实现方式。
示例5:
public class EnumTest { public static final String TrafficLamp = null; public static void main(String[] args) { // TODO Auto-generated method stub WeekDay weekDay=WeekDay.SUN; 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); } public enum WeekDay{ SUN(){ WeekDay nextDay(){ return MON; } },MON(){ WeekDay nextDay(){ return TUE; } },TUE(){ WeekDay nextDay(){ return MON; } },WEN(){ WeekDay nextDay(){ return MON; } },THU(){ WeekDay nextDay(){ return MON; } },FRI(){ WeekDay nextDay(){ return MON; } },SAT(){ WeekDay nextDay(){ return MON; } }; } int day=0; private EnumTest(){ System.out.println("first"); } private EnumTest(int day){ this.day=day; } WeekDay nextDay() { return null; } 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; } } }
相关推荐
转载 jdk1.5的一些新特性,希望能帮助大家!
JDK1.5新特性
“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-else 循环,自动装包/拆包,枚举,可变参数, 静态导入
jdk1.5 tiger java5 新特性
JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究
绝版jdk1.5,非常不错的资源。用起来很好。是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新 的值。通过getName/setName来访问name属性,...
JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_...
jdk1.5.exe jdk1.5 jdk1.5下载
包含 jdk1.5免安装、jdk1.6免安装、jdk1.8(32和64)
前几天上传过这个资源,因为是在jdk1.6上开发的, 测试了一下在jdk1.5上不能用, 今天重新用jdk1.5编译了一下, 这个是可以支持jdk1.5+的 将 pu-xlscommon-1.0.0.jar 添加到工程的 /lib 目录下 用法在附件中 XlsTest....
JDK1.5,JDK1.5
IBM jdk1.5 Guide AIX 开发必须
测试可用的linux版jdk1.5,jdk-1_5_0_19-linux-i586-rpm.bin
Java-jdk1.5安装包
JDK1.5_u22_linux_64bit 该资源分两部分,下载到同一目录解压后,为"jdk-1_5_0_22-linux-amd64.bin" 使用方法: 1.使用二进制方式上传到安装环境 2.使用"chmod +x jdk-1_5_0_22-linux-amd64.bin"赋权限,是的该文件可...
jdk1.5新特性 泛类型和泛型方法是Java5.0 中的新特性。一种泛类型用一个或多个泛型变量定义,可以有一个或多个,泛型变量做参数占位符或做返回值 的方法。
JDK1.5JDK1.6各自的新特性
JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有...
jdk1.5 java jdk1.5 java jdk1.5 java jdk1.5 java