Java进阶:增强for循环、枚举、反射、泛型、动态代理等

1、静态导入

mport语句可以导入一个类或某个包中的所有类

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

语法举例: 

import static java.lang.Math.sin;

import static java.lang.Math.*; 


2、可变参数

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

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

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


3、增强for循环

增强for循环可以用在数组、或实现Iterator接口的集合类上

语法格式:                                              

for(变量类型 变量 :需迭代的数组或集合){

   ......

}

例:用在数组上

int arr[] = new int[5];
for(int num : arr){
	num = 10;
}
System.out.println(arr[0]);

用在List上:
List<String> list = new ArrayList<String>();
list.add("xxx");
for(String str : list){
	str = "zhouyong";
}
System.out.println(list.get(0));

4、自动拆箱、自动装箱

JDK5.0的语法允许开发人员把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 类型的变量,这个过程称之为自动装箱。

如:Integer num1 = 12;

自动拆箱与自动装箱与之相反,即把包装类对象直接赋给一个对应的基本类型变量。

如:System.out.println(num1 + 12);


典型应用:

List list = new ArrayList();

list.add(1);

int j = (Integer)list.get(0);


5、枚举

枚举类也是一种特殊形式的Java类。

枚举类中声明的每一个枚举值代表枚举类的一个实例对象。

与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。

枚举类也可以实现接口、或继承抽象类。

JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。

若枚举类只有一个枚举值,则可以当作单态设计模式使用。

Java中声明的枚举类,均是java.lang.Enum类的子类,它继承了Enum类的所有方法。

常用方法:

name()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值