期末课程总结

转眼间,这个学期就要过去了,我们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) 打开文件选择对话框,返回打开状态

java期末课程总结的更多相关文章

  1. Java期末课程学习汇总。

    本学期面向对象与Java程序设计课程已经结束了,给自己学习来个总结. 本学期过的非常快,不得不说这一学期学到的东西很少,感觉自己的进步很小. 而且感觉自己总少了点什么,在写这篇总结前,我认真想了,很多 ...

  2. 2018年秋季学期面向对象程序设计(JAVA)课程总结

    2018年秋季学期面向对象程序设计(JAVA)课程总结 时值2018年年末,按惯例对本学期教学工作小结如下: 1. 教学资源与教学辅助平台 教材:凯 S.霍斯特曼 (Cay S. Horstmann) ...

  3. java代理课程测试 spring AOP代理简单测试

    jjava加强课程测试代码 反射. 代理 .泛型.beanUtils等 项目源码下载:http://download.csdn.net/detail/liangrui1988/6568169 热身运动 ...

  4. Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)

    #Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...

  5. Java面向对象课程设计——购物车

    Java面向对象课程设计——购物车 小组成员:余景胜.刘格铭.陈国雄.达瓦次仁 一.前期调查 流程 客人(Buyer)先在商城(Mall)中浏览商品(Commidity),将浏览的商品加入购物车(Sh ...

  6. 2017-2018面向对象程序设计(Java)课程助教工作职责及分工

    2017-2018面向对象程序设计(Java)课程助教工作职责及分工 一.研究生助教团队名单 张光辉,王玉环,牟巧玲,徐进 二.工作职责与要求 1) 针对所指导学习小组学生,批改课程实验作业每周一次, ...

  7. Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观

    Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java  ...

  8. 扎西平措 201571030332 《面向对象程序设计(java)课程学习进度条》

    <2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/ ...

  9. 2019面向对象程序设计(java)课程学习进度条

    2019面向对象程序设计(java)课程学习进度条 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 1 20/10 1/0 5 九九 ...

随机推荐

  1. JavaSE--jdbc编程

    JDBC全称为:Java Data Base Connectivity (java数据库连接),可以为多种数据库提供统一的访问.JDBC是sun开发的一套数据库访问编程接口,是一种SQL级的API.它 ...

  2. Spring Boot 获取yaml配置文件信息

    Spring boot 项目启动过程中: org.springframework.boot.SpringApplication#prepareEnvironment 当程序步入listeners.en ...

  3. 【版本控制工具】 Git基础

    一.Git简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.于是Git 成了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. (Git目前使用率非常 ...

  4. php页面禁用错误报告

    //禁用错误报告 error_reporting(0);#or ini_set("display_errors","Off"); //开启错误报告 ini_se ...

  5. Office365 PowerShell打开邮箱审计功能

    最近总公司要求Office365需要在所有的邮箱上面打开审计功能.这个功能没法通过图形界面操作,只能通过powershell脚本实现. 微软提供了一个官方的脚本,不过里面有个小bug https:// ...

  6. 高性能mysql 第10章 复制

    复制功能不仅能够构建高可用的应用,同时也是高可用性,可扩展性,灾难恢复,备份以及数据仓库等工作的基础. mysql支持两种复制方式:基于语句的复制和基于行的复制.基于语句的复制(也成为逻辑复制)是早期 ...

  7. BZOJ1257 [CQOI2007]余数之和[规律]

    被zcr和yy轮流嘲讽了一番,感觉自己智商日渐下降...\TヘTツ 先拆mod变成整数除法,然后就是$nk- \Sigma_{i=1}^{n} i * \lfloor \frac{k}{i} \rfl ...

  8. echarts实践用法

    在折线图中,当点击某个节点,出现提示浮框,并且可以进行点击操作 echarts 配置 tooltip: { show: true, formatter: function(e) { return 'a ...

  9. 一个python生成器的使用

    def myegg(retlist): for i in retlist: rec = yield i mydict = [ {}, {}, {}, ] b = myegg(mydict) obj = ...

  10. Acwing-96-奇怪的汉诺塔(递推)

    链接: https://www.acwing.com/problem/content/description/98/ 题意: 汉诺塔问题,条件如下: 1.这里有A.B.C和D四座塔. 2.这里有n个圆 ...