期末课程总结
转眼间,这个学期就要过去了,我们Java的学习也接近了尾声,回想到这个学期刚开始接触到Java的时候,感觉什么都不懂,但现在似乎有了门路,不会载懵懵懂懂,
虽然本学期面向对象与Java程序设计课程已经全部结束了,但Java程序设计的学习还远未到终点,我们对Java的学习还要继续,所以在接下来的两三周里,努力做好
Java课程设计,坚持做好,把Java学好。在前面的每一周我们都有每一周的总结,下面我把我们这个学期所学的内容再一次简单规划一下:
this关键字 :
在构造器中,代表该构造器所创建的实例对象。 在方法中,指调用该方法的对象。 在流离块中。只流离块所属的类的实例t
static关键字:
属性有共享性,还可以声明函数,比如Mian方法public static void main(String args[])
继承,抽象类,接口
extends关键字,用于子类继承父类,并用super可以从子类中调用父类中的构造方法 还有覆写和重载的关系,覆盖用于子类和父类中,而重载在同一个类当中, abstract:用abstract定义的抽象方法,其类也必须要用抽象定义, interface接口类的定义,父类接口需要用interface定义,而子类接口父类要用implements。 接口与抽象类的关系
区别点 | 抽象类 | 接口 |
---|---|---|
定义 | 包含一个抽象方法的类 | 抽象方法和全局变量的集合 |
组成 | 构造方法、抽象方法、普通方法、常量、变量 | 常量、抽象方法 |
使用 | 子类继承抽象类(extends) | 子类实现接口(implements) |
关系 | 抽象类可以实现多个接口 | 接口不能继承抽象类,但允许继承多个接口 |
常见设计模式 | 模板设计 | 工厂设计,代理设计 |
局限 | 抽象类有单继承的局限 | 接口没有单继承的局限 |
实际 | 作为一个模板 | 是作为一个标准或不是一种能力 |
对象 | 都通过对象的多态性产生实例化对象 | 都通过对象的多态性产生实例化对象 |
选择 | 如果抽象类和接口都可使用的话,优先使用接口,因为避免单继承的局限 | 如果抽象类和接口都可使用的话,优先使用接口,因为避免单继承的局限 |
特殊 | 一个抽象类中可以包含多个接口,一个接口中可以包含多个抽象类 | 一个抽象类中可以包含多个接口,一个接口中可以包含多个抽象类 |
异常
异常的处理方式
try { //有可能出现异常的语句 } catch(异常类 异常对象) { //编写异常的处理语句 } finally { //一定会运行的代码 }
不管出现什么异常都可以用Exception来处理异常对象。
throws和throw关键字
throws声明的方法此方法不处理异常 throw是抛出一个异常,抛出时直接抛出异常类的实例化对象
线程
线程共分为两大类 继承Thread 以及 实现Runnable接口。
取得线程名称:Thread。curentThread().getNane() 判断线程是否启动 isAlive(); 线程强制运行 join(); 后台线程 setDaemon(); 最高级 MAX—PRIORITY 线程的优先级 最高级 NORM—PRIORITY 最低级 MIN—PRIORITY 线程的礼让 yield()
同步代码块synchronized关键字
synchronized(同步对象){ ///synchronized(this)this表示当前对象 需要同步的代码块; }
java.io*,数据流
File f = new File(文件名);//声明File对象 (Output)(Input)Stream (out)(input) = null; //准备好输出的对象 (out)(input) = new File(Out)(In)putSTream(f); //对象进行实例化 (out)(input) = new File(Out)(In)putSTream(f,true) //在末尾加东西
字节输出流:OutputStream
byte b[]=str.get.Bytes(); //用Byte把输出的内容保存 out.write(输出对象); out.close();//关闭文件
字节输入流 InputStream
byte b[]=new byte[1024]; //用Byte保存输入内容 input.read(输入对象) input.close(); //关闭文件
记事本相关内容
引用AWT,SWing相关数据包,
JFrame 基本窗体,JLalel标签组件 JButton 按钮组件
frame.setVisible(true)显示窗体
布局管理器
FlowLayout 流式布局管理器 f.setLayout(new FlowLayout(FlowLayout.CENTER,3,3); BorderLayout 将窗体表面化为东南西北中 f.setLayout(new BorderLAyout(3,3)); f.add(new JButton("东(east)"),BorderLayout.EAST); f.add(new JButton("西(west)"),BorderLayout.WEST); f.add(new JButton("北(north)"),BorderLayout.NORTH); f.add(new JButton("南(south)"),BorderLayout.SOUTH); f.add(new JButton("中(center)"),BorderLayout.CENTER); GridLayout 表格布局管理器 f.setLyout(new GridLayout(Height,width,3,3); 需要注意的事无论按钮多还是按钮少横轴是不会变的,都是竖轴在改变
CardLayout 将一组组件重叠地进行布局,每次只展示一个画面
通过card.next(cont); 进行下一个界面切换
绝对定位
提供一个坐标进行精准布局
f.setLayout(null); 使用绝对定位
其他组件
JPanel 经常用到的容器之一,可以使用JPanel完成各种复杂的界面,在JPanel中可以加入任意组件,然后直接吧JPanel加入到JFrame中 public Jpanel(LayoutMannger layout) 创建一个指定布局管理器的JIPanel对象 JSplitPane 主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列, ifsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,组件一,组件二); ifsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,组件一,组件二); JTabbedPane 是在面板上设置了一个多项卡供用户选择 常用方法 JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP) //设置标签在顶部显示 JTabbedPane tab = new JTabbedPane(JTabbedPane.BOTTOM) //设置标签在底部显示 JTabbedPane tab = new JTabbedPane(JTabbedPane.LEFT) //设置标签在左部显示 JTabbedPane tab = new JTabbedPane(JTabbedPane.RIGHT) //设置标签在右边显示 JScrollPane 一般的图形界面如果显示区域不够大,就可以通过用JScrollpane设置滚动条 static final HORIZONTAL_SCROLLBAR_ALWAYS 始终显示水平滚动条 static final HORIZONTAL_SCROLLBAR_NEVER 任何情况下都不显示水平滚动条 static final HORIZONTAL_SCROLLBAR_AS_NEEDED 根据自生需要来显示水平滚动条 static final VERTICAL_SCROLLBAR_ALWAYS 始终显示垂直滚动条 static final VERTICAL_SCROLLBAR_NEVER 任何情况下都不显示垂直滚动条 static final VERTICAL_SCROLLBAR_AS_NEEDED 根据自生需要来显示垂直滚动条 JTextFiled jtf=new JTextFiled(); 设置文本框 JPasswordField jpf=new JPasswordField(); 设置密码类型文本框
事件监听
窗体事件监听WindowListener
动作事件监听ActionListener
键盘事件监听KeyListener
鼠标事件监听MouseListener
public Object getSource() 返回事件监听的对象
arg0.getSource instanceof 组件 判断事件触发源是否一致
记事本菜单组件
菜单容器JMenuBar
public JMenuBar() 构造方法创建JMenuBar对象 public JMenu add(JMenu e) 将指定的JMenu加入到JMenuBar中
菜单JMenu
public JMenu(String s) 创建新的JMenu 并指定菜单名称 public JMenuItem add(JMenuItem menuItem) 增加新的菜单项 public void addSeparator() 加入分割线
菜单项JMenuItem
public JMenuItem(Icon icon) 创建带有图标的JMenuItem public JMenItem(String text) 创建带有指定文本的JMenuItem public JMenItem(String text,Icon icon) 创建带有指定文本和图标的JMenuItem
JMenuBar,JMenu,JMenuItem之间一环扣一环,菜单项JMenuItem加到菜单JMenu中,JMenu加到菜单容器JMenuBar中,
JMenuBar加到窗体JFrame中 frame.setJMenuBar(jmb)
文件选择框JFileChooser
public JFileChooser() 指定用户默认目录,在Windows中是我的文档 public JFileChooser(String currentDiretoryPath) 指定文件选择的目录 public File getSelectedFile() 返回选择的文件 public int showSaveDialog(Component parent) 打开保存对话框,返回保存状态 public int showOpenDialog(Component parent) 打开文件选择对话框,返回打开状态
来源:https://www.cnblogs.com/djhxxx/p/12011305.html