读书人

蓝杰学习一周小结

发布时间: 2012-10-07 17:28:51 作者: rapoo

蓝杰学习一周总结

一、类与对象的关系分析
?代码形式:
?//自定义一个类
?public class 类名{};
?//创建对象
?类名? 对象名? =? new 类名();
?1、在我理解,类就是一系列具有相同属性或者叫特征的个体的集合,例如年龄为20岁的人可以是一个类,性别为男的人可以是一个类,
?肤色相同的人也可以是一个类;
?2、那么对象就是与类相对应的那个个体,他具有类当中所有的特征,例如在年龄为20岁的人这个类中,20岁的我这个类的一个对象,在
?性别为男的这个类中,身为男性的我也是这个类的一个对象;
?3、类是抽象的,对象是对一个类的具体。通俗的说,类是看不见的,它不是某个什么东西,而对象确是实实在在的存在,看得见,摸得
?着得。?
?
?
二、继承的基本理解
?代码形式:
?//学生类继承人类
?public class Student extends Person{};
?为什么要发生继承呢???
?1、一旦发生继承关系,则子类自动继承父类中的方法及属性,即父类所能做的,子类全部能做,但反过来不是;
?2、子类在继承父类之后,可以对父类中的方法进行重写,同时也可以额外定义方法;
?3、子类是父类的一个拓展。一个子类只能有一个父类,而一个父类可以有很多子类。允许多重继承,不允许多继承
?
?
三、重载与重写的理解,区别
?重载:方法名相同,但是传入的参数的个数,类型不相同
?重写:方法名,传入的参数,类型完全相同,只是方法体不相同
?区别:重载的方法,都可以被调用,而且完成类似的任务,方法重载常用在构造方法的重载,以完成不同对象的创建
????? 重写方法,是子类继承父类之后,对父类中的方法进行重写,以改变或者拓展方法的实现功能。方法一旦被重
????? 写,那么重写之前的方法将不能被使用,以后所调用的方法均为重写之后的方法。
??????
?????
四、类,接口,抽象类的理解与区别
?1、类是具有相同属性特征的个体的集合,是抽象的概念,类似的很多个体,按照属性的不同,可以分为很多中不同类,
??类的使用即为创建对象以实现类的作用或者是被其他类继承;
?2、接口
??代码:
??public interface 接口名{
???//全局常量
???//抽象方法
??}
??1、类是对象的集合,接口可以成为一些类的集合,更确切的说是类的模板
???代码:
????public class 子类 implements 接口名{}
??2、接口可以被类实现,而且一个类可以同时实现很多接口,而且接口与接口之间也可以继承
??
??
五、Java中的数据类型
?1、八种基本数据类型:
??byte??? 8bits
??int???? 32bits
??short?? 16bits
??long??? 64bits
??char??? 16bits
??float?? 32bits
??double? 64bits
??boolean true/false
?2、由类生成的对象类型


六、构造方法与一般方法的区别
?构造方法代码:
??public 方法名(参数1,参数2,....){}
??1、构造方法没有返回值,而其他方法必须有返回值类型或者void,同时构造方法名必须与类名完全一致;
??2、构造方法只有在创建对象时使用;
??3、构造方法与其他一般方法相比,最大的优势就是可以重载,或者说常用于重载,以创建初始化参数不相同
??的多个对象;
??4、每个类都有一个默认的无参构造方法,如果没有被重载,当此类的对象被创建时,默认调用此无参构造器,
??但是一旦被重载,默认的构造方法就不能被使用了。
??

七、常用的swing组件
?swing组件所在包
??代码:
???javax.swing.*
?常用的组件有:javax.swing.JFrame:窗体组件
???? javax.swing.JButton:按钮组件
???? javax.swing.JPanel:面板组件
???? javax.swing.JCheckBox:复选框
???? javax.swing.JColorChooser:颜色选取器
???? javax.swing.JFileChooser:文件选择
???? javax.swing.JLabel:标签组件
???? javax.swing.JTextField:文本框组件
???? javax.swing.JSlider:拉动块
???? javax.swing.JTree:分层数据


八、事件监听机制的理解
?在界面处理中,当鼠标点击或者键盘输入时,系统将发出事件通知,将该事件对象通知给
?对此事件监听的事件监听器EventListener?,然后时间监听器根据发生的事件,做出相应
?反应,以满足用户的需要
??1、动作监听器代码:
???public interface ActionListener extends java.util.EventListener{
????public void actionPerformed(ActionEvent e){
?????//动作发生时自动调用
????}
???}
??2、鼠标监听器
???public interface MouseListener extends EventListener{
????public void mouseClicked(MouseEvent e);

?????? public void mousePressed(MouseEvent e);

??? ???public void mouseReleased(MouseEvent e);

??? ???public void mouseEntered(MouseEvent e);

??? ???public void mouseExited(MouseEvent e);
???
???}
??
九、数据结构之自定义队列的实现原理
?1、新建一个长度为0 的源数组
?2、队列的各种操作都是在数组与源数组之间的复制数据进行,然后再传给源数组
?3、为了是数组能够传入不同对象,所以采用了“泛型”;
?4、代码如下:
?
?
?
??/**
?* 自定义泛型队列的接口实现
?* @author Administrator
?*
?* @param <E>
?*/
public interface NetJavaList<E>{
?//向队列中加入一个对象
?public void add(E e);
?//取得队列中指定位置的一个对象
?public E get(int index);
?//取得队列的长度,即队列中元素的个数
?public int size();
?//移除指定下标位置的元素
?public void remove(int index);
?//更新某个位置的元素
?public void modify(int index, E e);
?//将元素插入到某个位置
?public void insert(int index, E e);
?//移除所有元素
?public void removeAll();
}
?
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?
?/**
?* 实现泛型队列的接口
?*
?* @author Administrator
?*
?* @param <E>
?*/
public class STList<E> implements NetJavaList<E> {
?// 新建一个长度为零的源数组
?Object[] src = new Object[0];

?// 向队列中加入一个对象
?public void add(E e) {
??// 重新定义数组
??Object dest[] = new Object[src.length + 1];
??// 将对向加入到最后得位置
??dest[src.length] = e;
??// 将原数组的数据拷贝到新数组中
??System.arraycopy(src, 0, dest, 0, src.length);
??// 将新数组赋值给源数组
??src = dest;
?}

?// 取得队列中某个位置的对象
?public E get(int index) {
??Object f = src[index];
??E f2 = (E) f;
??return f2;
?}

?// 取得队列大小
?public int size() {
??return src.length;
?}

?// 移除指定下标位置的元素
?public void remove(int index) {
??// 重新定义数组
??Object dest[] = new Object[src.length - 1];
??// 将index之前的元素赋值给dest
??System.arraycopy(src, 0, dest, 0, index);
??// 将index之后的元素赋值给dest
??System.arraycopy(src, index + 1, dest, index, src.length - index - 1);
??// 将新数组赋值给原数组
??src = dest;
?}

?// 更新某个位置的元素
?public void modify(int index, E e) {
??src[index] = e;
?}

?// 将元素插入到某个位置
?public void insert(int index, E e) {
??//重新定义数组
??Object dest[] = new Object[src.length+1];
??//将index之前的元素复制到新数组中
??System.arraycopy(src,0,dest,0,index);
??//将新元素赋值给index
??dest[index] = e;
??//将之后的元素复制到新数组中
??System.arraycopy(src, index, dest, index+1, src.length - index);
??src = dest;
?}

?// 移除所有元素
?public void removeAll() {
??Object dest[] = new Object[0];
??src = dest;
?}
}

?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?++++++++++++++++==============+++++++++++++++++
?
?
?5、测试代码

1 楼 freewxy 2011-08-30 好多人都干过这活儿~

读书人网 >编程

热点推荐