课程总结

1、子类不能直接访问父类的私有属性,可通过get(),set()来间接访问。

2、super(),this()不可同时使用,因为其都必须放在首行,所以不可同时使用。

3、若删去super(),则无法使用父类的无参构造。

4、this(),super()不可出现在main方法中。

5、子类可扩大权限,不可缩小。

6、类属于引用数据类型,引用数据类型就是指一段堆内存空间可以同时被多个栈内存所指向。

7、接口去继承接口,可多重继承。

8、一个栈内存只能够保存一个堆内存空间的地址。,若想再指向其他的堆内存空间,则必须先断开已有的指向才能分配新的指向。

9、、只要是被封装的属性,则必须通过setter()和getter()方法设置和取得。

10、setter()方法进行内容得赋值。

11、类中全部属性都必须封装。

12、用private声明得属性和方法只能在其类的内部被调用,而不能在类的外部被调用。

13、若要强调是本类中的方法,也可以在调用时按“this.方法名称()”的形式编写。

14、main方法不写在抽象类(规范性)。

15、如果抽象类和接口都可以使用时,优先室使用接口,因为可以避免单继承的局限。

16、Object类中toString()方法可直接输出。

17、Object类中的equals()方法默认是比较地址。

18、定义在"{ }"中的变量是局部变量。

19、Error与Exception是同级。

20、匿名对象可以在使用后便释放。

21、Runnable接口可以共享资源,Thread类不共享资源。

22、要想实现多线程,必须在主线程中创建心得线程对象。(在main线程下,构建其他线程)

23、在Thread类中必然存在一个static类型的属性,用于线程的自动命名。

24、File类在Java。io包下。

25、创建--就绪状态--(CPU进行)调度--运行状态_导致阻塞的事件--阻塞状态—阻塞解除--就绪状态。

数据流

1、数据流向分为:输入流和输出流。

输入流 :把数据从 其他设备 上读取到 内存 中的流。

输出流 :把数据从 内存 中写出到 其他设备 上的流。

2、数据的类型分为:字节流和字符流。

字节流 :以字节为单位,读写数据的流。 字符流 :以字符为单位,读写数据的流。

3、java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字 节输出流的基本共性功能方法。

public void close() :关闭此输出流并释放与此流相关联的任何系统资源。

public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。

public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。

public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输 出到此输出流。

public abstract void write(int b) :将指定的字节输出流。

注意:close方法,当完成流的操作时,必须调用此方法,释放系统资源。

4、public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。

public FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件。

当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有这个文件,会创建该文件。如果有这个文 件,会清空这个文件的数据。

代码如下:

public class FileOutputStreamConstructor throws IOException {
public static void main(String[] args) {
// 使用File对象创建流对象
File file = new File("a.txt");
FileOutputStream fos = new FileOutputStream(file); // 使用文件名称创建流对象
FileOutputStream fos = new FileOutputStream("b.txt");
}
}

5、字节输入流【intputStream】

java.io.InputStream 抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中。它定义了字节输入 流的基本共性功能方法。

public void close() :关闭此输入流并释放与此流相关联的任何系统资源。 public abstract int read() : 从输入流读取数据的下一个字节。 public int read(byte[] b) : 从输入流中读取一些字节数,并将它们存储到字节数组 b中 。

注意:close方法,当完成流的操作时,必须调用此方法,释放系统资源。

6、 FileInputStream类

java.io.FileInputStream 类是文件输入流,从文件中读取字节。 构造方法 :FileInputStream(File file) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系 统中的 File对象 file命名。 FileInputStream(String name) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件 系统中的路径名 name命名。 当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有该文件,会抛出 FileNotFoundException 。

7、当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为 一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文 件。

8、字符输入流【Reader】

(1)、java.io.Reader 抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入 流的基本共性功能方法。

(2)、public void close() :关闭此流并释放与此流相关联的任何系统资源。

(3)、public int read() : 从输入流读取一个字符。

(4)、 public int read(char[] cbuf) : 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中

9、FileReader类

java.io.FileReader 类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

10、字符输出流

java.io.Writer 抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。它定义了字节 输出流的基本共性功能方法。

void write(int c) 写入单个字符。

void write(char[] cbuf) 写入字符数组。

abstract void write(char[] cbuf, int off, int len) 写入字符数组的某一部分,off数组的开始索引,len 写的字符个数。

void write(String str) 写入字符串。

void write(String str, int off, int len) 写入字符串的某一部分,off字符串的开始索引,len写的字符个 数。

void flush() 刷新该流的缓冲。

void close() 关闭此流,但要先刷新它。

11、FileWriter类

java.io.FileWriter 类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。 构造方法

FileWriter(File file) : 创建一个新的 FileWriter,给定要读取的File对象。

FileWriter(String fileName) : 创建一个新的 FileWriter,给定要读取的文件的名称。

当你创建一个流对象时,必须传入一个文件路径,类似于FileOutputStream

图形界面

1、图形界面编程有以下几个特征:

(1)图形界面对象及框架 (对象之间的包含关系)

(2)图像界面的布局(对象之间的位置关系)

(3)图像对象上的事件响应(对象上的动作)

AWT(轻量级组件)

1、抽象窗口工具包,所有工具类都保存在java.awt中。工具主要分为以下三类:

(1)组件:Component.

(2)容器:Container.

(3)布局管理器:LayoutManager.

Swing简介(重量级组件)

1、保存在javax.swing包中,此包是一个扩展包,所有组件都是从JComponent扩展出来的,

(1)public JFrame(String title)throws HeadlessException 创建一个窗体对象,并指定标题

(2)public void setSize(int width,int height) 设置窗体大下

(3)public void setSiBackground(Color c) 设置窗体的背景颜色

(4)public void setLocation(int x,int y) 设置组件的显示位置

(5)public void setVisible(Boolean b) 显示或隐藏组件

标签组件JLabel

1、JLabel组件表示的是一个标签,本身是显示信息,一般情况下不能直接更改其显示内容的。

2、(1)public static final int LEFT 标签文本左对齐

(2)public static final int CENTER 标签文本居中对齐

(3)public static final int RIGHT 标签文本右对齐

(4)public JLabel(String text)throws HeadlessException 创建一个标签并指定文本内容,默认左对齐

(5)public JLabel(String text,Icon icon,int horizontalAlignment) 创建具有文本、图像和水平对齐方式的JLabel对象

布局管理器

1、FlowLayout属于流式布局管理器,使用此种布局方式会使所有的组件像流水一样依此进行排列

(1)public static final int CENTER 居中对齐

(2)public static final int LEADING 与容器的开始端对齐方式一致

(3)public static final int LEFT 左对齐

(4)public static final int RIGHT 右对齐

(5)public static final int TRAILING 与容器的结束端对齐方式一致

2、BordxerLayout将一个窗体的版面划分为东、南、西、北、中5个区域

(1)public static final String EAST 将组件设置在东区域

(2)public static final String WEST 将组件设置在西区域

(3)public static final String SOUTH 将组件设置在南区域

(4)public static final String NORTH 将组件设置在北区域

(5)public static final String CENTER 将组件设置在中区域

(6)public BorderLayout() 构造没有间距的布局器

(7)public BorderLayout(int hgap,int vgap) 构造有水平和垂直间距的布局器

3、GridLayout布局器是以表格的形式进行管理的,在使用此布局管理器时必须设置显示的行数和列数

(1)行优先,在表格首先保证行。

4、CardLayout是将一组组件彼此重叠的进行布局,就像一张张卡片一样

(1)public void next(Container parent) 翻转到下一张卡片

(2)public void previous(Container parent) 翻转到上一张卡片

(3)public void first(Container parent) 翻转到第一张卡片

(4)public void last(Container parent) 翻转到最后一张卡片、

5、绝对定位

如果不想在窗体中指定布局管理器,也可以通过设置绝对坐标的方式完成布局。在Component中提供了setBound()方法,可以定位一个组件的坐标,

定义如下:

public void setBounds(int x,int y,int width,int height)

其他容器

1、在Swing开发中,窗体部分除了可以使用JFrame表示外,还有其他几种常见的窗体:JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane、JInternalFrame等。

Jpanel容器

1、在Jpanel中可以加入任意的组件,然后直接将Jpanel容器加到JFrame容器中即可。

JSplitPane

1、主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列。

JTabbedPane

1、在一个面板上设置多个选项卡供用户选择。若需要查看哪方面的信息,则直接选择选项卡即可浏览。

JScrollPane

1、主要功能是为显示的内容加入水平滚动条。JScrollPane主要由JViewport和JScrollBar两部分组成,前者主要是显示一个矩形区域让用户浏览,而后者主要是形成水平或垂直的滚动条

JDesktopPane与JInternalFrame

1、在Swing中也可以完成内部窗体的显示,即在一个窗体可以出现多个子窗体,每一个窗体都无法超出父窗体的区域。JDesktopPane规定了一个父窗体的基本形式,而JInternalFrame规定了各个子窗体,

JInternalFrame需要加入到JDesktopPane中。

事件处理

要想让每一个组件都发挥自己的作用,及必须对所有的组件进行事件处理

事件和监听器

1、事件是表示一个对象发生状态变化。而如果要想处理此事件,则需要事件的监听者不断地监听时间的变化。

2、在Swing编程中,依然使用了最早的AWT的事件处理方式,所有的事件类都是EventObject类的子类。

JDBC

1.配置MySQL数据库的驱动程序:下载相应的MySQL,若能输出Class,则已经配置好了

2.DriveManager:(1)getConnection(String url, String user ,String password)

(1)通过连接地址链接数据库,同时输入用户名和密码

(2)子名称:一种标识数据库的方法,必须遵循”//主机名 : 端口/子协议" 的标准URL命名

3.数据库的更新操作:Statement接口,通过Connection接口的createStatement()方法实例化,来操作数据

2019JAVA课程总结的更多相关文章

  1. 2019JAVA第一次课程总结

    课程总结:到现在为止之,学习专业课程已有两周了,从刚开始的啥也不懂,现在慢慢入门了.最开始我们为JAVA开发了运行环境,然后使用类编写了最简单的输出,然后开始学习了数据类型,这可以在编程中帮我们解决一 ...

  2. 2019Java第十四周课程总结

    关于记事本代码上周已经写过了,这次把他粘过来了,如下: 记事本 package jishiben; import java.awt.event.ActionEvent; import java.awt ...

  3. 2019Java第十三周课程总结

    这周主要是学习了监听器还有制作记事本,主要可以由一下代码来体现 监听器 实验代码 package text12; import java.awt.Container; import java.awt. ...

  4. 2019java第十二周课程总结

    本周主要还是学习图形界面 各种容器使用方法 如下代码: package text10; import java.awt.*; import java.io.File; import javax.swi ...

  5. 2019JAVA最新课程-React从入门到实战(新)

    1.准备工作 可以在yunp.top网站看webpack,node/npm,cnpm的相关使用视频教程 react有两种使用方式,一是在现有网站中添加:二是创建一个全新的 官网创建全新一个react ...

  6. .NET 提升教育 第一期:VIP 付费课程培训通知!

    为响应 @当年在远方 同学的建议,在年前尝试进行一次付费的VIP培训. 培训的课件:点击下载培训周期:10个课程左右,每晚1个半小时培训价格:1000元/人.报名方式:有意向的请加QQ群:路过秋天.N ...

  7. 14门Linux课程,打通你Linux的任督二脉!

    Linux有很多优点:安全.自主.开源--,也正是这些优点使得很多人都在学Linux. 虽说网上有大把的Linux课程资源,但是对很多小白来说网上的课程资源比较零散并不适合新手学习. 正因为此,总结了 ...

  8. 在线课程笔记—.NET基础

    关于学习北京理工大学金旭亮老师在线课程的笔记. 介绍: 在线课程网址:http://mooc.study.163.com/university/BIT#/c 老师个人网站:http://jinxuli ...

  9. [LeetCode] Course Schedule II 课程清单之二

    There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...

随机推荐

  1. MyBatis插件原理

    官方文档:https://mybatis.org/mybatis-3/zh/configuration.html#plugins MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用.默认 ...

  2. SSM框架初始配置

    1 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="h ...

  3. Laravel 多态关联中利用关联表相关字段进行排序的问题

    1 目标 1.1 在 Laravel 项目的开发中,多态的需求很常见,按多态关联进行排序的需求也是必须的. 1.2 请想像,我们有一个需求,荣誉栏目多态关联一个档案模型,要求在荣誉中按档案的推荐时间进 ...

  4. JS 定时器-setInterval、clearInterval、setTimeout

    在微信小程序里写的: // pages/splash/splash.js const app = getApp() Page({ data: { remainSecond: }, // 页面渲染完成后 ...

  5. Java实现浏览器大文件分片上传

     上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败. 一开始以为是session过期或者文件大小受系统限制,导致的错误. 查看了系统的配置文件没有看到文件大小限制, web.xml中s ...

  6. Java进阶知识08 Hibernate多对一单向关联(Annotation+XML实现)

    1.Annotation 注解版 1.1.在多的一方加外键 1.2.创建Customer类和Order类 package com.shore.model; import javax.persisten ...

  7. codeforces#1166F. Vicky's Delivery (Service并查集+启发式合并)

    题目链接: https://codeforces.com/contest/1166/problem/F 题意: 给出节点数为$n$,边数为$m$的图,保证每个点对都是互连的 定义彩虹路:这条路经过$k ...

  8. 一些风骚的shell命令行操作

    1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...

  9. Linux的简单命令(防火墙篇)

    名称 解释 重启 reboot 关机 shutdown  -h   now poweroff 查看本机IP地址 ifconfig 查看默认网卡信息的文件 cat /etc/sysconfig/netw ...

  10. 20191121-5 Scrum立会报告+燃尽图 02

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/10066 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名 ...