集合类:

来源:互联网 发布:北大青鸟编程多长时间 编辑:程序博客网 时间:2024/05/04 14:50

 

CollectionSetList的区别如下:

Collection各元素对象之间没有指定的顺序,允许有重复元素和多个null元素对象。

Set各元素对象之间没有指定的顺序,不允许有重复元素,最多允许有一个null元素对象。

List各元素对象之间有指定的顺序,允许有重复元素和多个null元素对象。

 

Properties类是Hashtable的子类

增加了将Hashtable对象中的关键字和值保存到文件和从文件中读取关键字和值到Hashtable对象中的方法

如果要用Properties.store方法存储Properties对象中的内容,每个属性的关键字和值都必须是String类型。

图形用户界面GUI

事件监听器:

处理发生在某个GUI组件上的XxxEvent事件的某种情况,某事件处理的通用编写流程:

       编写一个实现了XxxListener接口的时间监听类;

       XxxListener类中的用于处理该事件情况的方法中,编写处理代码;

       调用组件的addXxxListener方法,将XxxListener创建的实例对象注册到GUI组件上。

事件适配器:

用事件适配器来处理事件,可以简化事件监听器的编写。

初学者适用事件适配器的常见问题,解决问题的思路:

是方法没被调用,还是方法中的程序代码的执行问题?

是方法名写错了,还是没有注册事件监听器?

图像显示:

使用Graphics.drawImage(Image img,int x,int y,ImageObserver observer)方法显示图像

菜单:

Java中与菜单相关的类主要有MenuBar(菜单条)、Menu(菜单)、MenuItem(菜单项)。

Applet 程序的限制

       不能启动执行其他应用程序;

       不能进行文件I/O操作;

       不能调用本机代码;

       不能与Applet所在的主机之外的其它主机进行网络连接。

I/O

 

FileInputStreamFileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名。

创建FileInputStream实例对象时,指定的文件应当是存在和可读的。创建FileOutputStream实例对象时,如果指定的文件已经存在,这个文件中的原来内容将被覆盖清除。

对同一个磁盘文件创建FileInputStream对象的两种方式:

(1)       FileInputStream inOne = new FileInputStream(“hello.test”);

(2)       File f = new File(“hello.test”);

FileInputStream inTwo = new FileInputStream(f);

创建FileOutputStream实例对象时,可以指定还不存在的文件名,不能指定一个已经被其他程序打开的文件。

 

不管各种底层物理设备用什么方式实现数据的终止点,InputStreamread方法总是返回-1来表示输入流的结束。

Windows下,按下Ctrl+Z组合键可以产生键盘输入流的结束标记,在linux下,则是按下Ctrl+D组合键来产生键盘输入流的结束标记。

 

字节流与字符流的转换

InputStreamReaderOutputStreamWriter,是用于将字节流转换成字符流来读写的两个类,InputStreamReader可以将字节流转换成字节解码成字符后读取,OutputStreamWriter将字符编码成字节后写入到一个字节流中。

避免频繁地在字节和字符间进行转换,最好不要直接使用InputStreamReaderOutputStreamWriter类来读写数据,应尽量适用BufferedWriter类包装OutputStreamWriter类,用BufferedReader类包装InputStreamReader类。

 

静态导入:

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

import static java.lang.Math.Max;

import static java.lang.Math.*;

可变参数:

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

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

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

java5的增加for循环

fortype 变量名:集合变量名){code}

注意: 迭代变量必须在{}中定义;集合变量可以是数组或实现了Iterable接口的集合类

自动拆箱

Integer i1 = 12

自动装箱

System.out.prinln(num1+i1);

享元模式:

如果很多很小的对象有很多相同的东西,可以把他变成一个对象,还有些不同的东西可以把他变成外部属性,作为方法的参数传入。

枚举:

枚举就是要让某个类型的变量取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。

反射的基石:

Java程序中的各个Java类同属于一类事物,描述这类事物的Java类名就是Class

得到各个字节码对应的实例对象(Class类型)

类名.class

对象.getClass()

Class.forName(“类名”)

反射:

就是把Java类中的各种成分映射成相应的Java类。

一个Method代表一个类中的一个方法

Constructor类代表某个类中的一个构造方法

HashCode方法的作用

 

原创粉丝点击