黑马程序员__18java基础增强

来源:互联网 发布:正常人的阅读速度 知乎 编辑:程序博客网 时间:2024/04/28 21:58

---------------------- 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培训、期待与您交流! ----------------------


0 0
原创粉丝点击