课程总结

1.基础语法:Java关键字,标识符,类型转换、直接量、变量、循环语句(if,for,switch)、方法、运算符、递归。

2.面向对象编程:面向对象设计思想、对象与内存、方法重载、对象创建使用、abstrsct的使用、static的使用、package和import的运用、对象、继承、转型、多态、抽象类、接口等基本的知识点。

3.异常处理:try{...}catch(Exception e){...}、异常的分类、方法异常的抛出、自定义异常。

4.数组:基本的数组操作、二维数组的使用。

5.常用类:String类、StringBuffer类、Math类、File类等等。

6.文件与数据流:输入流 java.io.InputStream 、输出流 java.io.OutputStream。

7.线程:线程的两种实现方式。多线程的实现主要是通过继承Thread类或实现Runnable接口。

8.抽象方法,抽象概念,抽象方法和抽象类的关系:
(1)有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法
(2)当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类
(3)因为子类是继承父类全部内容,所以也就相当于子类中也有了抽象方法,通过重写,可以将抽象方法覆盖。
(4)抽象类的特点:必须有abstract关键字修饰,不可以通过new来创建对象,抽象方法不可以写函数体。

9.this:是当前对象的引用
(1)this调用本类中的属性,也就是类中的成员变量,如果本类没有此属性则从父类中继续查找;
(2)this调用本类中的其他方法,如果本类没有此方法则从父类中继续查找;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

10.static
(1)static方法就是没有this的方法,可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。
(2)非static声明的方法可以去调用static声明的属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。

11.对象数组
(1)先定义,再开辟空间
类名称 对象数组名[] = null;
对象数组名 = new 类名称[长度];
(2)定义并开辟数组
类名称 对象数组名[] = new 类名称[长度];

12.继承
(1)子类继承父类的成员变量
当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下:
1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量;
2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;
3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需
要使用super关键字来进行引用。
(2)子类继承父类的方法
同样地,子类也并不是完全继承父类的所有方法。
1)能够继承父类的public和protected成员方法;不能够继承父类的private成员方法;
2)对于父类的包访问权限成员方法,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;
3)对于子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即子类的成员方法会覆盖掉父类的同名成员方法。如果要在子类中访问父类中同名成员方法,需要使用
super关键字来进行引用。

13.方法的覆写和重载
(1)overload(重载):在同一类或者有着继承关系的类中,一组名称相同,参数不同的方法组。本质是对不同方法的称呼。
重载的标志:方法名相同,参数不同(个数或者类型),与返回值无关。
(2)override(覆写):存在继承关系的两个类之间,在子类中重新定义了父类中存在的方法。本质是针对同一个方法,给出不同的实现。
覆写的标志:子承父类,对相同的方法有不同的实现。

14.final关键字
final关键字可以用来修饰类、方法和变量
(1)修饰:当用final修饰一个类时,表明这个类不能被继承。
(2)修饰方法:用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。
(3)修饰变量:对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

15.抽象类
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

16.接口
(1)抽象:只笼统的描述该对象的功能,不提供实现的方法;
(2)不能创造对象:接口是没有方法体的,不能实例化;
(3)多继承:一方面接口可以继承多个接口,另一方面,类也可继承多个接口,且类能在单继承类后再继承多个接口,但接口是不能继承类的。

17.异常
处理:

try{
//有可能出现异常的语句
}catch(异常类 异常对象){
}

(1)throws
使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理
throw
(2)与throws关键字不同的是,可以直接使用throw关键字抛出一个异常,抛出时直接抛出异常类的实例化对象即可。

18.文件
createNewFile(); 创建新文件
delete(); 删除一个指定文件
public String[]list(); 列出全部名称,返回一个字符串数组
public File[]listFiles(); 列完整的路径,返回一个File对象数组

19.Swing
JFrame窗体是一个容器,它是Swing程序中各个组件的载体。
常用操作方法:
创建一个窗体:JFrame f = new JFrame;
设置窗体大小:f.setSize(int width , int height);
设置窗体背景颜色:f.setBackground(Color.颜色);
设置窗体显示位置:f.setLocation(int x, int y);
显示窗体:f.setVisible(true);

20.布局管理器
(1)BorderLayout(边框布局管理器)是 Window、JFrame 和 JDialog 的默认布局管理器。边框布局管理器将窗口分为 5 个区域:North、South、East、West 和 Center。
(2)FlowLayout(流式布局管理器)是 JPanel 和 JApplet 的默认布局管理器。FlowLayout 会将组件按照从上到下、从左到右的放置规律逐行进行定位。与其他布局管理器不同的是,FlowLayout 布局管理器不限制它所管理组件的大小,而是允许它们有自己的最佳大小。
(3)CardLayout 布局管理器将容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件。
(4)GridLayout(网格布局管理器)为组件的放置位置提供了更大的灵活性。它将区域分割成行数(rows)和列数(columns)的网格状布局,组件按照由左至右、由上而下的次序排列填充到各个单元格中。
(5)绝对布局 通过坐标指定组件放置的位置,窗体大小改变,组件位置也不会改变

21.完善窗体
(1)标签组件JLabel,更改JLabel的文字样式,使用到Font类,在JLabel中设置图片,使用Imagelcon类
(2)按钮组件JButton,建立一个按钮即new JButton()即可
(3)监听:
a.键盘监听
使用KeyListener接口
b.鼠标监听
使用MouseListener接口,其中MouseEvent中有getButton(),getX(),getY()等方法
c.单选钮:JRadioButton及事件处理
d.复选框:JCheckBoxji事件处理JCheckBox();创建文本对象其事件处理也是用ItemListener接口
e.列表框:JList及事件处理
(4)菜单组件:JMenu、JMenuBar、JMenuItem可实现简单的菜单外观,使用事件监听可对应作出一些功能的实现

原文地址:https://www.cnblogs.com/zhouhuahua/p/12036232.html