---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
静态导入(jdk1.5后有):即导入类中的静态方法,原本要写类名,导入后可直接省略类名,只写方法名。
注意:当类名重名时,需要制定具体的包名。当方法名重名时,指定具备所属的对象或者类。
可变参数(JDK1.5后有):
1只能出现在参数列表的最后。
2...位于变量类型和变量名之间,前后有无空格都可以。
3调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
增强for:集合变量可以是数组或实现了Iterable接口的集合类。
增强 for格式:
for(数据类型 变量名 :被遍历的集合collection或者数组){}
对集合进行遍历,只能获取集合元素,但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的操作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for的区别:高级 for有一个局限性,必须由被遍历的目标,建立在遍历数组的时候,还是希望用传统 for,因为传统for可以定义角标。
享元设计模式(JDK1.5后有):将在字节范围里面的数值,抽取他们的共性方法,只传值即为享元设计模式。数据的自动装箱即是这种模式的体现。
枚举(JDK1.5后有):
1枚举相当于一个类,其中也可以定义构造方法,成员变量,普通方法和抽象方法。
2枚举元素必须位于枚举中的最开始部分,枚举元素列表后要有分号与其他成员分隔。把枚举中的成员方法或变量等放在枚举元素的前面,编译器会报错。
个人总结:枚举中的元素即是对象,枚举只有一个成员时,就可以作为一种单例的实现方式,枚举关键字: enum。
反射:把java 类中的各种成分映射成相应的java 类。
java 提供的几个基本注解(在java.lang包中JDK1.5后出现)
@suppresswarnings ;取消编译器对过时方法的警告。
@Deprecated: 过时方法。
@Overvride: 重写父类方法。
面向对象设计把我一个重要经验:谁拥有数据,谁就对外提供操作这些数据的方法。
泛型:
格式:通过<>来定义要操作的引用数据类型。
泛型在集合框架中很常见,只要见到<>就要定义泛型,其实<>就是用来接收类型的。
当使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可。
泛型类:当类中要操作的引用数据类型不确定的时候,早起定义object来完成扩展,现在定义泛型来完成扩展。
泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象,明确要操作的具体类型后,所有要操作的类型就已经固定了。
为了让不同方法可以操作不同类型,而且类型还不确定,那么可以将泛型定义在方法上。
泛型的限定:
?---- 通配符,也可以理解为占位符。
?---extends E : 可以接收E类型或者E的子类型,上限。
?---super E: 可以接收E类型或者E的父类型,下线。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------