jdk1.5新特性(简)

自动拆箱和装箱

public class Demo1{
	public static void main(String[] args){
		Integer intObj1=3;//自动装箱
		Integer intObj2=new Integer(3);//手动装箱
		
		int i1=intObj;//自动拆箱
		int i2=intObj.intValue();//手动拆箱
	}
}

增强for循环

public class Demo2{
	public static void main(String[] args){
		int[] aa={1,2,3,4,5};
		for(int a:aa){
			System.out.println(a);
		}
	}

}

可变参数:

1. 用...来定义
2. 本质是一个数组
3. 可以传入任意一个参数
4. 可变参数只能放在方法参数的最后一个
public class Demo3{
	public double sum(int a,int b,double...ds){
		double sum=0;
		sum=a+b;
		if(ds!=null){
			for(int i=0;i<ds.length;i++){
				sum+=ds[i];
			}
		}
		return sum;
	}
	public static void main(String[] args){
		Demo3 d3=new Demo3();
		System.out.println(1,2);
		System.out.println(1,2,3);
		System.out.println(1,2,3,4);
		System.out.println(1,2,null);
		System.out.println(1,2,new double[]{1,2,3,4,5});
	}
}

静态导入:

1. 用import static 包名.类名,静态属性名或静态方法名
2. 可以提高加载效率
3.降低了可读性,建议要慎用 
类Demo1:

import static day20.jdk5.staticimport.Demo2.kk;
import static dat20.jdk5.staticimport.Demo2.method;
public class Demo1{
	public static void main(String[] args){
		//静态导入方式
		System.out.println(kk);
		method();
		//建议方式
		System.out.println(Demo2.kk);
		Demo2.method();
	}
}

类Demo2:

public class Demo2{
	public static int kk=100;
	public static void method(){}
} 

枚举(enum)

1. 当取值为几个(有限个)固定的值,可以使用枚举类型
2. 枚举是一个数据类型
3. 普通的枚举
public enum RequestMethod{
	GET,POST,DELETE,PUT
}


public enum Week{
	Monday,
	Tuesday,
	Wednesday,
	Thursday,
	Friday,
	Saturday,
	Sundat
}
4. 枚举也可以有方法和属性和构造方法,但是构造方法必须是私有的
5. 枚举还可以实现接口,但不能进行继承,枚举也可以包含抽象方法
6. 所有的自定义的枚举都默认继承自java.lang.Enum类
	String name();
	int ordinal();
public enum RequestMethod{
	GET,POST,DELETE,PUT
}


public enum Week{
	Monday,
	Tuesday,
	Wednesday,
	Thursday,
	Friday,
	Saturday,
	Sundat
}

public class Demo1{
	public void testMethod1(Week week){
		switch(week){
			case Monday:
				break;
			case Tuesday;
				break;
			case Wednesday;
				break;
			case Saturday;
				break;
			case Friday;
				break;
			case Sunday;
				break;
		}
	}
	public static void main(String[] args){
		System.out.println(Week.Monday.name());//输出对象Monday的名字
		System.out.println(Week.Monday.ordinal());//输出对象Monday所在位置
		System.out.println(RequestMethod.POST.ordinal());//输出对象POST所在位置
	}
}

以下两种方式等同

public enum Rank{
	A("90-100"),
	B("80-89"),
	C("70-79"),
	D("60-69"),
	E("0-59");
	private String score;

	private Rank(String score){
		this.score=score;
	}
}

public enum Rank1{
	static final Rank1 rankA=new Rank1(90-100);
	static final Rank1 rankB=new Rank1(80-89);
	static final Rank1 rankC=new Rank1(70-79);
	static final Rank1 rankD=new Rank1(60-69);
	static final Rank1 rankE=new Rank1(0-59);

	public int score;
	private Rank1(){}
	private Rank1(int score){
		this.score=score;
	}
}

反射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值