课程总结

一个学期结束了,下面我对一些重点知识分三个模块做一个小的总结。

一、Java基础程序设计

1.java中源文件的扩展名为.java,之后通过编译是.java的文件生成一个.class文件。

2.Java中所有的程序都是在JVM上运行的,JVM是在一台计算机上由软件或硬件模拟的计算机。

3.类的定义使用了public class声明的话,文件名必须与类名称保持一致,而使用class定义的类,文件名称可以与类名称不同,但是

生成的.class文件的名称就是class定义的类名称,且一个Java文件可以产生多个class文件。

4.类名称要求每个单词的首字母都要大写。

5.主方法(main())是一切程序的起点,吧主方法所在的类称为主类,并且主类都使用public class声明。

6.public static void main (String args[])是程序的主方法,即所有的程序都会以此方法为起点并运行下来。

7.System.out.println起输出作用,是直接将“()”里的内容进行输出,如果有多个值时,中间可以使用"+"连接。

8.JAVA中的标识符不能以数字开头,也不能是JAVA中的保留关键字。

9.数据类型的转换由低到高发生自动类型转换,反之,则发生强制类型转换。

10.a%b=c,c的正负与被除数保持一致。

12.普通与(&)和普通或(|)所有的判断条件都要判断,而短路与(&&)和短路或(||)如果前面的判断返回了false和true,后面

则不需要再判断,最终结果就是false和true。

13.Java数组的使用,必须经过声明数组和分配内存给数组,其中new则是编译器根据括号里的长度,在堆内存中开辟一块堆内存供该数组使用。

二、Java面对对象程序设计

1.可以使用this强调本类中的方法

2.可以表示类中的属性

3.this表示当前对象

注意:this必须放在首行,且this不能循环调用。

注:如果一个类中有多个构造方法的话,可以利用this关键字互相调用

4.类:定义出一个基本的模板,代表着一个共性,类是由属性和方法组成的。对象:对每一个体的详细描述。

5.所有的对象名称都在栈内存中保存,而对象的具体内容则保存在对应的堆内存中,必须使用new关键字才能开辟堆内存空间。

6.如果一个对象要被使用,则对象必须被实例化。 实例化对象:对象名称 = new 类名()。

7.程序封装使用private,而被封装了的对象要使用setter和getter去设置和访问。

8.通过继承,可以将父类中的操作直接拿到子类中使用,子类也可以定义自己的属性或方法

9.子类不能直接访问父类中的私有操作,子类可以通过其他操作间接访问父类中的私有操作(例如用setter或getter访问)

10.子类对象在实例化之前必须首先调用父类中的构造方法之后再调用子类自己的构造方法。

11.方法的覆写是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到权限,即被子类覆写的方法不能拥有父类方法更加严格的访问权限。

12.使用super能调用父类的构造方法,普通方法和非私有属性。

13.super和this都必须放在首行,故不能同时使用。

14.使用final声明的类不能有子类2.使用final声明的方法不能被子类所覆写3.使用final声明的变量即为常量,不可修改4.使用final声明变量时,要求全部的字母大写

15.向上转型:子类对象 →父类对象(自动转换)

16.向下转型:父类对象 →子类对象(强制转换)注:首先要进行向上转型,然后在进行强制类型转换。

17.包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字来声明;

抽象类必须被子类继承,子类必须覆写抽象类中的全部抽象方法;抽象方法只需要声明但不需要实现。且普通类不能有

抽象方法。

18.接口是一种特殊的类,里面全部是由全局变量和公共的抽象方法组成。

注意:抽象方法必须定义成public访问权限。

接口的使用和抽象类一样都是需要通过子类来实现,而子类通过implements关键字来实现接口(可实现多个接口)。

19.其中Exception表示程序出现的问题,要用try。。。catch语句处理

20.throw和throws关键字

在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,抛给方法的调用处处理。

throw可以直接使用从而抛出一个异常。抛出时直接抛出异常类的实例化对象。

三、Java应用程序设计

1.Java中线程的实现

方法一:继承Thread类:一个类只要继承了Thread类,就称为多线程操作类。且在Thread子类中,必须明确的覆写Thread类中的run()方法。

启动线程应调用start()方法。

方法二:实现Runnable接口

两种方法的区别:

Thread类中的run方法调用的是Runnable接口中的方法,故如果使用Thread方法实现多线程的话则必须要覆写run()方法。且

使用Runnable接口可以避免单继承局限,能更好的实现数据共享

2.线程分为五个状态,分别是创建状态,就绪状态,运行状态,堵塞状态和死亡状态。如图:

3.使用synchronized关键字将一个方法声明成同步方法

4.如果要使用File类,则要使用File类的构造方法,且实例化File类的时候,必须要给出设置好的路径。

5.程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。如图所示:

6.在Java中IO操作流程:

(1)使用File类打开一个文件。

(2)通过字节流或字符流的子类指定输出的位置。

(3)进行读/写操作。

(4)关闭输入/输出。

7.字节流:(1)字节输出流OutputStream类(2)字节输入流InputStream类

8.字符流:(1)字符输出流Writre类(2)字符输入流Reader类

9.基本容器JFrame类:

此类用于创建窗口。

Dimension类:

此类方法用来设置窗体的大小

Point类:

此类方法用来显示窗口的位置,即控制窗口左上角的x,y坐标来表示,

JLabel类:

用于创建标签

Font类:

用于设置标签的显示字体、大小、背景颜色

Imagelcon类:

可以将任意一张图片设置到JLabel中。

按钮组件JButton类:

在窗体中增加一个按钮

10.布局管理器

FlowLayout类:

流式布局管理器,会使所有的组件像流水一样依次进行排列

BorderLayout类:

将一个窗体的版面划分为东、西、南、北、中五个区域。

GridLayout类:

以表格的形式进行管理

CardLayout类:

将一组组件彼此重叠地进行布局,像卡片一样。

绝对定位

可以设置绝对坐标的方式完成布局。

13.其他容器:

1)JPanel:

JPanel可以完成复杂的界面显示。

2)JSplitPane:

其主要功能是分割面板。

3)JTabbedPane:

在一个面板上设置多个选项卡。

4)JScrollPane

为显示的内容加上一个滚动条。

5)文本组件JTextComponent

6)单行文本输入组件JTextField

实现一个单行的输入文本

7)密文输入组件JPsaawordField

8)EventObject

所有的事件类都是EventObject类的子类

14.监听

1)WindowListener:

它是专门处理事件的监听接口,包括窗体的所有变化(如关闭,打开等等)

2)监听适配器Adapter:

用户继承该类后就可以根据自己的需要来覆写方法,就不需要覆写接口里的所有抽象方法了。

3)动作事件及监听处理ActionListener:

处理按钮的动作事件,让按钮变得更加有意义。

15.单选钮JRadioButton

单选钮就是在给出的多个显示信息中指定选择一个

16.复选框JCheckBox

可以选多个

17.菜单组件

当一个界面中出现许多按钮的时候,可以利用菜单进行统一的布局管理,可以使得

界面功能更加丰富。

18.JMenu和JMenuBar

实现菜单组件要使用Jmenu。而JMenuBar组件的功能是用来摆放JMenu组件,当建立了

多个JMenu组件之后,需要通过JMenuBar组件将JMenu组件加入到窗口。

19.JMenultem

此组件的功能是为菜单中加入菜单项。

20.文本选择框JFileChooser

可以使用他来选择要打开或保存的文件。

21.JDBC

他的意思是java数据库连接,他可以方便的实现多种关系型数据库的统一操作,由一组用java语句编写的类和接口组成。

22.JDBC驱动分类:

1)JDBC-ODBC桥驱动;

2)JDBA本地驱动;

3)JDBC网络驱动;

4)本地协议纯JDBC驱动;

23.连接数据库的操作:

JDBC的连接地址实际上是由以下的3个部分组成。

(1)jabc 协议:JDBC URL 中的协议总是 jdbc。

(2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如

MySQL。

(3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,

如//localhost:3306/mldn

24.ResultSet接口

在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接受,并使用它取得内容

自我总结:

以上就是我对本学期的Java总结,时光如水,岁月如梭。一眨眼就是一学期过去了,可是我还是感觉自己学的太少,而且知识的连贯性不强,

主要就是自己的基础知识不够牢固,综观这个学期的Java学习,在有时候我还是投了点懒的,但是每一周的作业我基本上都会花几个小时去完成

把每次作业的代码去认真理解并完成,但是课后却没有任何的学习了,所以我深深的感觉到那种学了就扔的那种,这个感觉在记事本这个实验代码

上充分的反应了,他对知识的连贯性要求较高,总之还是自己做的题目太少了,我觉得学习这个还是需要自己多多实践,多做一些Java题目,来将所学

运用上去,这样的话估计就能掌握所学的知识了。寒假时间比较长,我将充分利用这段时间把自己的Java水平上升。希望自己在以后的路上能更加努力,

在此,也辛苦助教对我们每个人的的付出,同时也感谢李老师对我们的教育。2020年我们会更好。

加油加油加油!!!

java程序课程总结_java课程总结相关推荐

  1. java的课程总结_Java课程总结

    0.前言 本次博客主要针对整个学期的Java过程中遇到的一些问题.在这个学期的学习中获得的感受,对Java课程的个人理解和自己的一些理解和体会 1.作业过程总结 ①总结三个阶段作业之间的知识迭代关系: ...

  2. java课程论文_Java课程论文.doc

    Java课程论文 Java课程总结 11级计本(2)班 1104012006 齐先鹏 一. 多线程是指同时存在几个执行体, 按几条不同的执行路线共同工作的情况.Java是通过多线程运行机制来支持多任务 ...

  3. java 公交管理系统 代码_JAVA课程设计报告公交管理系统.pdf

    Java期末课程设计 -- Busmanagerment 课程名称:算法设计与分析 任课老师:吴倩 学生姓名:谢秀华 学生学号:1037005 所在院系:信息工程学院 班级: 10计算机1班 一.前言 ...

  4. java实现随机动画_Java课程设计画随机圆.doc

    Java课程设计画随机圆 滁州学院 课程设计报告 课程名称: Java 面向对象程序设计 设计题目: 画随机圆 系 别: 计算机信息与工程学院 专 业: 计算机科学与技术 组 别: 第五小组 起止日期 ...

  5. 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决

    原标题:Java程序的编写与执行.Java新手常见的问题解决 今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. HelloWorld的编写 ...

  6. java程序有连接数据库_Java程序连接数据库

    /** * 了解: 利用 Driver 接口的 connect 方法获取连接 */ // 第一种实现 /** * 了解: 利用 Driver 接口的 connect 方法获取连接 */ @Test p ...

  7. java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...

    Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点.A.多线程B.健 更多相关问题 根据句意及首字母完成单词1. -What c__________ is i ...

  8. pgsql中float4导致java程序精度丢失_Java基础系列02

    注释 Java中支持三种注释:1.单行注释以//开始换行结束.2.多行注释以/*开始,以*/结束.3.说明注释以/**开始,以*/结束. 关键字 关键字:是指在程序中,Java已经定义好的单词,具有特 ...

  9. java程序员内功_Java程序员如何成为内功深厚的架构师

    一听到架构师,首先便想到的是在一间宽敞的房间中间坐着一位衣着得体的中年男人,望着落地窗外的风景凝思,万千思绪在脑海里翻腾,颇有运筹帷幄千里外的气势.程序员究竟是做架构师还是项目经理,最近看到微软潘正磊 ...

  10. java 程序找错_JAVA程序找错~

    我做了一个JAVA程序,程序很简单,就是在屏幕上显示一个矩形块,用键盘上的左右方向键可以控制它左右动,我觉得做的没问题,可是运行时怎么按它都不动,哪位大侠能帮忙找一下错误啊(... 我做了一个JAVA ...

最新文章

  1. Ajax基础知识梳理
  2. 滚动条滚动加载图片或则请求的实现方法
  3. ubuntu中minicom安装和使用
  4. 【图像处理】——灰度变换心得(cv2.normalize规范化值0-255,cv2.convertScaleAbs(new_img)转为8位图)
  5. 选择、插入、冒泡排序
  6. 逆向查找_「函数说12」数据逆向查找很复杂?match+index让你轻松搞定
  7. delete请求怎么传参数_postman第2讲-核心功能一:Request(请求)
  8. C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
  9. 概率图模型笔记(三)条件随机场(CRF)基础
  10. mysql日期格式转换_MySQL日期格式转换
  11. SVN 删除已提交的无用文件方法
  12. 美赛论文格式基本要求
  13. 使用云存储解决方案,主要有哪些优势
  14. 免费php文件加密软件,php源码加密 在线加密工具
  15. 什么是化工工程?重化工业包含哪些项目?
  16. matlab的toc,Python模仿matlab的tic/toc计时
  17. 2013我爱逻辑题(2)
  18. java关联jnlp,[javaws]jnlp介绍及使用
  19. Graph Representation Learning via Graphical Mutual Information Maximization
  20. android 自动替换资源文件,简单高效的实现Android App全局字体替换

热门文章

  1. 浅谈Linux下的EXT3文件系统
  2. Chrome开始集成图形识别 API(Shape Detection API)
  3. SprintBoot开发官方指导文档
  4. 在Ubuntu 16.10 安装 git 并上传代码至 git.oschina.net
  5. 解决foxmail提示“can not open socket WinSock Error:10106”
  6. PHP微信开发框架LaneWeChat框架简介
  7. 找不到网卡eth0的解决方法
  8. PKU2019暑期学堂 游记
  9. 高并发或高负载下的系统设计
  10. freemarker的常用内建函数