一、回顾
1、成员内部类:
可以被private、public、default修饰符修饰,里面不可以有静态资源
常量除外,内部类可以访问所在外部类的所有资源。
对象实例化:
OuterName outerObj=new OuterName();
OuterName.InnerName innerObj=outerObj.new InnerName();
访问和外部类同名的属性:OuterName.this.field;
2、静态内部类:
可以被private、public、default修饰符修饰,可以有静态资源,但是静态内
部类中非静态方法也只能访问所在外部类的静态资源。
对象实例化:
OuterName.InnerName innerObj=new OuterName.InnerName();
3、匿名内部类:
没有名字的内部类,它是在得到一个对象的同时而产生的,无法复用,但是
对象可以复用。
InterfaceName(or AbstractClassName) obj=new InterfaceName or AbstractClassName(){
//抽象方法的具体实现;
}
4、GUI事件处理:
事件:在计算机中类如 单击 双击 键盘按下 弹起 获取焦点 失去焦点 激活等。
事件源:由其引发某种事件的控件。
事件处理程序(ActionEvent e):当事件发生后,如何处理应对的函数。
e.getSource()获得对事件源的引用。
监听器:负责监听某种事件的类,该类实现了某种事件的接口,该类的对象就
可以作为监听器对象,负责监听并处理(调用事件处理程序)。
绑定:事件源和监听器之间一种委托关系。
enventSource.addXXXInterface(监听器对象);
5、包装类:对于基本数据类型,都有一个引用型的类型。
基本类型:int short long float double byte boolean char
引用类型:Integer Short Long Float Double Byte Boolean Charater
装箱:基本类型-->包装类
自动装箱:由编译器实现 Integer obj=10;==>Integer obj=new Integer(10);
拆箱:包装类-->基本类型
自动拆箱:由编译器实现 int value=obj;==>int value=obj.intValue();
类型转换:
字符串转变成数值
String s="123";
Integer value=Integer.valueOf(s);
数值转变成字符串
Integer value=10;
String s=String.valueOf(value);
6、枚举类:
确定值得范围,字符串常量(文本意义,自明性),还可以有field,method
构造方法(private),RED(),如果自定了带参数的构造方法,无参构造方法
如果需要,需要自己定义。
可以应用于switch结构,枚举对象调用ordinal()方法返回该对象在枚举类中
的索引值(从0开始)。
7、作用域生存周期:
作用域:起作用的范围,分为全局的(属性)和局部的(方法或者语句块中的
变量)。
生存周期:一个对象从诞生到销毁的时间段,会受到作用域的影响,属性随着
对象的创建而创建,销毁而销毁;方法或者语句块中的变量随着调用而产生,
调用完毕而撤销。
static生存期很长,随着class文件而加载创建,随着程序的结束而结束。
8、访问修饰符:
public 公共的:同一个类,同一包,不同包都可见。
private 私有的:同一类可见,其他都不可见。
default 默认的:同一个类,同一包可见,其他不可见。
protected保护的:同一个类,同一个包,以及其子类可见。
二、今天的内容
1、集合框架类
集合框架类可以存储不同类型的对象,空间可以动态分配。
1-1、ArrayList values=new ArrayList();
values.add();
//通过迭代器进行遍历
values.iterator();
values.listIterator();
while(iterator.hasNext() or listIterator.hasPrevious()){
//循环语句;
}
//foreach进行遍历
for(数据类型 变量名:集合){
//循环语句;
}
题目:自定义学员类型(stuId,stuName,stuScore),作为ArrayList集合对象的
元素类型,创建集合对象,添加五个学员对象。然后,对学员集合对象进行
增、删、改、查(迭代器遍历,还可以通过索引定向查询)操作,用到今天
讲解的所有的方法。
题目:使用TreeSet作为集合对象,集合元素类型,Student运用Comparable接口实
现默认的比较原则,再定义不同的实现了Comparator接口的比较器,对集合
对象中的元素进行排序,然后,运用迭代或者foreach结构遍历集合元素。
1、成员内部类:
可以被private、public、default修饰符修饰,里面不可以有静态资源
常量除外,内部类可以访问所在外部类的所有资源。
对象实例化:
OuterName outerObj=new OuterName();
OuterName.InnerName innerObj=outerObj.new InnerName();
访问和外部类同名的属性:OuterName.this.field;
2、静态内部类:
可以被private、public、default修饰符修饰,可以有静态资源,但是静态内
部类中非静态方法也只能访问所在外部类的静态资源。
对象实例化:
OuterName.InnerName innerObj=new OuterName.InnerName();
3、匿名内部类:
没有名字的内部类,它是在得到一个对象的同时而产生的,无法复用,但是
对象可以复用。
InterfaceName(or AbstractClassName) obj=new InterfaceName or AbstractClassName(){
//抽象方法的具体实现;
}
4、GUI事件处理:
事件:在计算机中类如 单击 双击 键盘按下 弹起 获取焦点 失去焦点 激活等。
事件源:由其引发某种事件的控件。
事件处理程序(ActionEvent e):当事件发生后,如何处理应对的函数。
e.getSource()获得对事件源的引用。
监听器:负责监听某种事件的类,该类实现了某种事件的接口,该类的对象就
可以作为监听器对象,负责监听并处理(调用事件处理程序)。
绑定:事件源和监听器之间一种委托关系。
enventSource.addXXXInterface(监听器对象);
5、包装类:对于基本数据类型,都有一个引用型的类型。
基本类型:int short long float double byte boolean char
引用类型:Integer Short Long Float Double Byte Boolean Charater
装箱:基本类型-->包装类
自动装箱:由编译器实现 Integer obj=10;==>Integer obj=new Integer(10);
拆箱:包装类-->基本类型
自动拆箱:由编译器实现 int value=obj;==>int value=obj.intValue();
类型转换:
字符串转变成数值
String s="123";
Integer value=Integer.valueOf(s);
数值转变成字符串
Integer value=10;
String s=String.valueOf(value);
6、枚举类:
确定值得范围,字符串常量(文本意义,自明性),还可以有field,method
构造方法(private),RED(),如果自定了带参数的构造方法,无参构造方法
如果需要,需要自己定义。
可以应用于switch结构,枚举对象调用ordinal()方法返回该对象在枚举类中
的索引值(从0开始)。
7、作用域生存周期:
作用域:起作用的范围,分为全局的(属性)和局部的(方法或者语句块中的
变量)。
生存周期:一个对象从诞生到销毁的时间段,会受到作用域的影响,属性随着
对象的创建而创建,销毁而销毁;方法或者语句块中的变量随着调用而产生,
调用完毕而撤销。
static生存期很长,随着class文件而加载创建,随着程序的结束而结束。
8、访问修饰符:
public 公共的:同一个类,同一包,不同包都可见。
private 私有的:同一类可见,其他都不可见。
default 默认的:同一个类,同一包可见,其他不可见。
protected保护的:同一个类,同一个包,以及其子类可见。
二、今天的内容
1、集合框架类
集合框架类可以存储不同类型的对象,空间可以动态分配。
1-1、ArrayList values=new ArrayList();
values.add();
//通过迭代器进行遍历
values.iterator();
values.listIterator();
while(iterator.hasNext() or listIterator.hasPrevious()){
//循环语句;
}
//foreach进行遍历
for(数据类型 变量名:集合){
//循环语句;
}
题目:自定义学员类型(stuId,stuName,stuScore),作为ArrayList集合对象的
元素类型,创建集合对象,添加五个学员对象。然后,对学员集合对象进行
增、删、改、查(迭代器遍历,还可以通过索引定向查询)操作,用到今天
讲解的所有的方法。
题目:使用TreeSet作为集合对象,集合元素类型,Student运用Comparable接口实
现默认的比较原则,再定义不同的实现了Comparator接口的比较器,对集合
对象中的元素进行排序,然后,运用迭代或者foreach结构遍历集合元素。