`
想学跑的猪
  • 浏览: 15317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员_Java高新技术_之篇一_Jdk 1.5新特性

阅读更多

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

 

 

 

 

 

 

            ------ android培训java培训、java基础学习技术总结、期待与您交流! ----------

分享到:
评论

相关推荐

    Java-jdk1.5安装包

    JDK1.5,也称为Java 5.0,是一个重要的版本,它引入了许多新的特性和改进,对Java语言的发展产生了深远影响。 一、泛型(Generics) 在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口...

    详细介绍JDK1.5的各种新特性

    **JDK1.5**,又称为Java Development Kit的第5个主要版本,标志着Java语言的一个重大里程碑。这个版本引入了一系列创新性特性和改进,极大地提升了开发效率和代码的可读性,为Java编程带来了全新的体验。以下是JDK...

    IBM_jdk1.5_Guide.zip_IBM jdk 1.5_aix_ibm java1.5_ibm jdk1.5 wind

    IBM JDK 1.5,全称为IBM Java Development Kit 1.5,是IBM公司为AIX操作...通过深入阅读IBM_jdk1.5_Guide.pdf,开发者可以掌握如何在AIX系统上部署和运行Java应用,同时利用IBM JDK 1.5的优势来提升应用性能和稳定性。

    jdk1.5 windows版本 64位

    **正文** 标题:“jdk1.5 windows版本 64位” 描述:“jdk1.5 windows版本 64位,Java开发依赖环境” ...通过理解其新特性和配置要求,开发者可以充分利用这个工具集,进行高效、高质量的软件开发。

    jdk1.5x64位 windows版.zip

    JDK1.5是Java的一个重要版本,它在2004年9月30日正式发布,也被称为Java 5.0。这个版本引入了大量的新特性,对Java平台进行了重大改进,提升了开发效率和性能。 首先,JDK1.5引入了类型安全的枚举(enum),这是对...

    linux系统jdk1.5下载

    Linux系统中的JDK1.5是Java开发工具包的一个早期版本,主要针对Java语言的编译、运行和调试提供支持。这个版本在今天已经相对较为罕见,因为Java已经有了多个后续版本,包括JDK7、JDK8、JDK9直至最新的JDK17等。然而...

    JDK1.5新特性

    2. **泛型**:泛型是1.5最重要的新特性之一,它允许在类、接口和方法中使用类型参数,增强了类型安全性和代码重用性。泛型可以限制集合元素的类型,避免了类型转换错误。 3. **枚举类(enum)**:之前的Java中,...

    jdk1.5新特性

    ### JDK 1.5 新特性详解 #### 泛型编程 **定义与作用:** 泛型编程是 Java 1.5 引入的一项重要特性,它允许开发者在编译时进行类型安全检查,从而避免了运行时可能出现的类型转换异常。通过在编译阶段检查类型安全...

    包含 jdk1.5免安装、jdk1.6免安装、jdk1.8(32和64)

    这个压缩包包含了三个不同版本的JDK:JDK 1.5、JDK 1.6和JDK 1.8,其中1.5和1.6是早期版本,而1.8是最流行且广泛使用的版本之一。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要的新特性,如...

    JDK1.5的32位和64位安装包

    首先,JDK1.5最重要的特性之一是泛型(Generics)。泛型允许在类、接口和方法中使用类型参数,从而提高了代码的类型安全性和可读性。通过泛型,开发者可以限制容器只能存储特定类型的对象,避免了强制类型转换,减少...

    JAVA开发工具 JDK1.5

    JDK1.5是Oracle公司于2004年发布的一个重要版本,代号为"Tioga",它在Java的历史上具有里程碑式的意义,引入了许多重要的新特性和改进。 ### 1. 泛型(Generics) JDK1.5最重要的特性之一就是泛型的引入。泛型允许...

    jdk1.5 tiger java5 新特性

    总的来说,JDK 1.5(Java 5.0)的新特性极大地提高了Java的生产力和代码质量。从泛型到增强的for循环,再到注解和枚举,这些改进都让Java开发者能够编写出更安全、更易于维护的代码。在实际开发中,理解并充分利用...

    JDK1.5,JDK1.5

    泛型是JDK1.5最重要的特性之一,它允许在类、接口和方法声明中使用类型参数,以实现数据类型的参数化。泛型提高了代码的类型安全性和可读性,减少了类型转换的需要,并允许编译器检查类型错误。 2. **自动装箱与...

    黑马程序员_(适合初学者入门的Java基础视频)

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。对于初学者来说,选择合适的资源来学习Java是非常重要的。"黑马程序员_(适合初学者入门的Java基础视频)"是一套专为初学者设计的Java...

    jdk1.5免安装版

    绝版jdk1.5,非常不错的资源。用起来很好。是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新 的值。通过getName/setName来访问name属性,...

    JDK1.5最终版全平台下载

    JDK1.5 全平台安装包下载 百度网盘资源 jdk-1_5_0_22-linux-amd64-rpm.bin jdk-1_5_0_22-linux-amd64.bin jdk-1_5_0_22-linux-i586-rpm.bin jdk-1_5_0_22-linux-i586.bin jdk-1_5_0_22-solaris-amd64...

    jdk1.5_forLinux.zip

    总的来说,JDK 1.5 for Linux不仅为开发者提供了强大的编程工具,还通过引入一系列新特性,推动了Java语言的发展,使之更加高效和易用。无论是初学者还是经验丰富的开发者,都应熟悉并掌握这一版本,因为它对于理解...

    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_5_zh_CN(JDK1.5中文帮助文档) JDK_API_1_...

    java-JDK1.5

    这个版本发布于2004年,是Java SE 5.0的代号,它在Java的历史上扮演了关键的角色,引入了一系列重要的新特性和改进,为后来的Java版本奠定了基础。 首先,JDK1.5最重要的更新之一是类型安全的枚举(enum)。在之前...

Global site tag (gtag.js) - Google Analytics