首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

Java学习总结Part2_2011.6.7

2012-09-10 
Java学习小结Part2_2011.6.79.Java中的类有三种,第一种是普通类(class)public class A {方法}?这个类中的

Java学习小结Part2_2011.6.7

9.Java中的类有三种,第一种是普通类(class)

public class A {    方法;}

?

这个类中的方法必须要有方法体——就是每个方法后面都要有大括号;

第二种是接口类(interface)

public interface B{    public 共同属性;   public 返回值类型 方法名;}

?这个类中的方法要靠别的类来实现,例如类A实现接口B 代码如下:

public class A implements B{    public 返回值类型 B中方法名{        方法;    }}

?类A必须实现B接口中所有的抽象方法;

第三种是介于普通类和抽象类之间的抽象类(abstract),可以由抽象方法,也可以有具体方法

public abstract class C{    public abstract 返回值类型 方法名();    //抽象方法    public 返回值类型 方法名(){   //具体方法        方法;    }}

?10.前面说的继承,子类继承父类的所有方法,但是现实中有这样的情况:大学生是学生子类,都有学习这个方法,但是大学生的学习方法和学生的学习方法又是不一样的,这个时候就要用方法的重写来重写这个方法:

??? 重写的要求是:子类的方法名和传入参数必须与父类相同。

??? 方法的重载和前面说的构造器的重载是类似的,要求方法名相同,传入参数必须不同。

11.?自动转型与强制转型

???? 1).一个对象可以自动由父类转型为子类:

public class Student{}        //学生类public class UNStudent extends Students{}    //大学生类//新建学生类:Student stu = new UNStudent();

?这句话的意思就是:学生甲是个大学生;

??? 2).强制转型

?

(这一块儿不太懂……请多指教)

12.多态:

??? 我觉得多态就是根据传入参数的不同,实现不同方法(和前面的构造器重载差不多)

13.常用界面开发组件:

???? 常用的界面开发组件在java.awt和javax.swing这两个包里面,通过查阅JDK文档可以知道每个函数都是干什么的

14.事件监听机制的理解

???? 程序如何获得我们点击鼠标或者敲击键盘这样的操作呢?这就需要监听器。监听器的运行机制:

???? 1)? 找到监听的事件源对象
???? 2)根据需要监听的事件实现对应的监听器接口
???? 3)? 创建监听器对象
??? ?4)将监听器对象绑定在事件源对象上

15.常用的监听器有Actionlinster(事件监听器)、MouseListener(鼠标监听器)、MouseMotionListener(鼠标移动监听器)、MouseWheelListener(鼠标上的滚轮监听器)、KeyListener(键盘监听器)

16.Java中数组的创建方法:

????

//格式1int t[] = new int[10];//创建长度为10的一维数组//格式2int t[] = {1,2,3,4,5,6};//创建给定元素的数组//创建二维数组//格式1int a[][] = new int[10][8];//创建10X8的二维数组//格式2int []a[] = new int[10][8];

??? 数组的特点:数据连续,有下标,长度固定。

?17.长度可变的数组——队列

?????? 有的时候我们不知道一共有多少元素,这就需要一个长度可变的数据结构,这就是队列,实现代码如下:

/** * 队列的实现 * @author LZL * */public class Liedui<E> implements FangfaJikou<E>{/** * 定义一个长度为0的原始数组 */private Object str[] =new Object [0];    /**     * 实现添加元素的方法     */public void add(E s) {Object str1[]=new Object[str.length+1];str1[str1.length-1]=s;for(int i=0;i<str.length;i++){str1[i]=str[i];}str=str1;}/** * 指定位置删除元素的方法 */public void del(int index) {Object str1[]=new Object[str.length-1];for(int i=0;i<index;i++){str1[i]=str[i];}for(int i=index;i<str1.length;i++){str1[i]=str[i+1];}str=str1;}/** * 根据下标提取元素 */public E get(int index) {E u =(E) str[index];return u;}/** * 显示队列长度 */public int size(){return str.length;}/** * 指定位置修改 */public void Edit(String s,int index){str[index]=s;}/** * 指定位置插入 */public void ins(E s,int index){Object str1[]=new Object[str.length+1];for(int i=0;i<index;i++){str1[i]=str[i];}for(int i=index+1;i<str1.length;i++){str1[i]=str[i-1];}str1[index]=s;str=str1;}}

?基本原理就是当加入一个新元素时,新建一个比原数字长度+1的新数组,把新元素拷贝到新数组最后面,前面的照搬过来,再把新数组赋给老数组。

? 上述代码中的 Object [0] 的意思是:数组元素种类未知,传入什么元素就是什么种类。

?

热点排行