MyException - 我的异常网
当前位置:我的异常网» Eclipse » 黑马软件工程师-高新技术(Eclipse使用技巧和JDK1.5

黑马软件工程师-高新技术(Eclipse使用技巧和JDK1.5新特性)

www.MyException.Cn  网友分享于:2013-09-10  浏览:5次
黑马程序员-----高新技术(Eclipse使用技巧和JDK1.5新特性)

------- android培训、java培训、期待与您交流! ----------

Eclipse使用技巧:

eclipse是一种IDE(集成开发环境)开发工具,IDE全称:itegrity  development  environment

Eclipsejavacjava的配置:Window-------Preferences-------Java------Complier(编译时的设置)和Installed JREs(运行时的设置)


工程建立常用4步骤:

1、新建工作间:File-------Switch Workspace

2、新建工程:File-------New-----Project-----New Project-----Java Project(点下一步)------New Java Project(输入工程名称)-------finish

3、新建class:工程名称下src(点右键)-----New-----Class-----New Java Class(设置包名和类名)------finish

4、快捷键配置:Window-------Preferences------General-----Keys(如内容助理设置:先找到Content Assist,按Removing Binding解除绑定,然后在Name下的Binding处按想要绑定的键,最后按Apply即可,Ok结束)。


Eclipse下调试变量:在需要查看的语句前面的竖直栏上双击即可插入断点(取消再次双击即可),通过插入两个断点来需要查看的范围,点击右键Debug As运行进行查看,然后选中变量点击右键Watch即可查看变量值的变化。

调用视图小窗口:Window------Show View


JDK1.5新特性:

可变参数:即传入的参数个数可以根据需求进行变化;

可变参数的特点:

      1、只能出现在参数列表的最后面;

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

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

如下实例:

public class VarableParameter {
	public static void main(String[] args) {//主函数
		System.out.println(add(4,5,2));//可变参数的调用
		System.out.println(add(4,5,2,4));//可变参数的调用	
	}
	public static int add(int x,int...ags){//可变参数函数
		int sum=x;
		for(int i=0;i<ags.length;i++){
			sum+=ags[i];
		}
		return sum;
	}
}

自动拆装箱:可以理解为基本数据类型和对象之间的自动转换,如Integer i=10,10会自动装箱提升为一个new Integer(10)的实例对象,在如Integer i=new Integer(10),int t=i+5;new Integer(10)实例对象会自动拆箱成基本数据类型10,从而与5进行相加计算

但还有一点需注意:如Integer a=127;Integer b=127;这里a==b的,因为当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会再开辟新的空间;Integer的自动装箱范围为一个字节-128127。

说到自动拆装箱就不得不说一种设计模式:

享元模式(flyweight):有很多个小的对象,他们有很多属性相同,把这些相同的属性变成一个对象,则这些相同的属性称之为这个对象的内部状态;把那些不同的属性变成方法的参数,则这些不同的属性称之为这个对象的外部状态。


高级for循环,格式:for(数据类型 变量名:被遍历的集合(Collection)或者数组){};对集合进行遍历只能获取集合元素,但是不能对集合进行操作;迭代器除了遍历,还可以进行remove集合中元素的动作,如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作


枚举:枚举将相对于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法;

枚举元素必须位于枚举体中最开始部分,枚举元素的后面要有分号与其他成员隔开,如果把枚举中的成员变量或方法等放在枚举元素的前面,编译器会报告错误。

带构造函数的枚举:

1、构造方法必须定义成私有;

2、如果有多个构造方法,可以在元素的后面加参数进行选择使用,如MON(1)SUNMON()SUN调用的都是空参数构造函数;

枚举如果只有一个成员时,就可以作为一种单例的实现方式。

枚举实例如下:

public class EnumTest {
	public static void main(String[] args) {
		WeekDay weekDay2=WeekDay.MON;
		System.out.println(weekDay2);
		System.out.println(weekDay2.ordinal());
		TrafficLamp traffic=TrafficLamp.GREEN;
		System.out.println(traffic);
		System.out.println(traffic.nextLamp());
	}
	public enum WeekDay{//枚举		
		SUN(1),MON,TUE,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;
		}
	}
}


泛型:用于限定集合所存在的对象

泛型格式:通过< >来定义要操作的引用数据类型,如ArrayList<String> al=new ArrayList<String>();

在使用java提供的对象时,什么时候写泛型呢?

    通常在集合框架中很常见,只要见到< >就要定义泛型,其实< >就是用来接收类型的,当使用集合时,将集合中要存储的数据类型作为参数传递到< >中即可。

什么时候定义泛型类?

    当类中要操作的引用数据类型不确定的时候,早期定义Object来完成拓展,现在定义泛型来完成扩展。

泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有操作的类型就已经固定了;为了让不同方法可以操作不同类型,而且类型还不确定,那么可以将泛型定义在方法上。

特殊之处:静态方法不可以访问类上定义的泛型;如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。

?通配符,也可以理解为占位符;

泛型的限定:? extends E,可以接收E类型或者E的子类型,上限;? Super E,可以接收E类型或者E的父类型。



文章评论

Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
旅行,写作,编程
旅行,写作,编程
一个程序员的时间管理
一个程序员的时间管理
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员应该关注的一些事儿
程序员应该关注的一些事儿
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员都该阅读的书
程序员都该阅读的书
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员的鄙视链
程序员的鄙视链
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
10个调试和排错的小建议
10个调试和排错的小建议
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
总结2014中国互联网十大段子
总结2014中国互联网十大段子
Java程序员必看电影
Java程序员必看电影
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
编程语言是女人
编程语言是女人
我的丈夫是个程序员
我的丈夫是个程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
那些争议最大的编程观点
那些争议最大的编程观点
中美印日四国程序员比较
中美印日四国程序员比较
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
为什么程序员都是夜猫子
为什么程序员都是夜猫子
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
如何成为一名黑客
如何成为一名黑客
我是如何打败拖延症的
我是如何打败拖延症的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
 程序员的样子
程序员的样子
代码女神横空出世
代码女神横空出世
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
老程序员的下场
老程序员的下场
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有