郝斌JAVASE大纲
郝斌老师java课程的总结,纯手打分享,方便复习回顾
第一部分 面向对象
1 封装
类:对一类事物抽象所得到的一个概念
对象:一个具体的事物
构造函数:
特点:不能有返回值 方法名与类名相同 可以有多个
注意:默认生成无参、无方法体、无返回值的构造函数
自己一旦定义,编译器将不再生成默认的构造函数
生成一个类对象时能且只能调用其中一个构造函数
static:
凡是static修饰的成员都是静态成员
静态成员都是属于类的
非静态可以访问静态,静态不可以访问非静态
通过类名只能访问一个类中的非私有静态成员
私有静态成员也不可以通过对象名访问
this:
非静态方法默认都含有一个this指针
this代表正在调用本方法的对象
final:
修饰类:该类不能被继承
修饰方法:该方法可以被继承但不能被重写
修饰属性:表示该属性能且只能赋值一次,并只能选两种中一种赋值(定
义的同时显式的初始化、构造函数中初始化)
函数重载:同名不同参,返回值不能作为是否构成重载的依据
2 继承
定义:子类继承了父类成员
注意:
非私有成员才可以被子类继承
重写:重写方法必须和被重写方法具有相同的方法名、参数列表、返回
值类型
重写方法的访问权限不能小于被重写方法(多态)
3 多态
定义:同一代码可以随上下文的不同而执行不同的操作,即一个父类的引用
既可以指向父类对象,也可以指向子类对象;它可以根据当前时刻指
向的不同,自动调用不同对象的方法
注意:
通过父类的引用只能访问子类从父类继承的成员
只有父类的引用本身指向一个子类对象时,才可以将其强制转化为子类
的引用
相关知识:
抽象类:
一个抽象类通常都含有抽象方法
只重写抽象类部分抽象方法的类也必须标记为abstract
不可以定义抽象类对象,但抽象类可以实现多态
接口:
接口中方法都是public abstract
不可以定义接口对象,但接口可以实现多态
重写接口方法时,public不能省
应用:
线程创建、GUI事件处理、容器的组织方式、serializable接口
第二部分 高级部分
1 异常
定义:运行时产生的错误
分类:
Error无法处理的异常
Execption可以处理的异常(必须处理:除RuntimeExecption以外的异
常;非必要处理:RuntimeExecption异常)
注意:
finally{...}一定会执行
先捕获子类异常,再捕获父类异常,顺序不可颠倒
重写方法抛出异常的范围不能大于被重写方法(多态)
假设f方法抛出A异常,则f有两种方式处理该异常
- throws A
- try{...}catch(){...}
2 线程
定义:一个程序运行时的不同执行路径
创建线程的方式:
继承Thread类
实现Runnable接口
线程的同步:
多个线程操作同一个资源,并要求这些操作中的若干个操作不能被中断
实现:synchronized修饰代码块、方法(默认锁定this)
例子:买票
线程的通信:
有时多个线程需要彼此协作才可以完成某个功能
实现:wait()、notify()、notifyAll()
例子:生产和消费
3 包
包的产生和运行:
package语句必须是第一条语句
类名是包名和类名的组合
只有在整个包的最上层目录才可以运行
同包、不同包的相互访问:ppt
jar包的生成与使用:普通、可运行jar包的生成
4 GUI
容器和组件的关系:容器是组件,组件不一定是容器
常见布局管理器:
BorderLayout、FlowLayout、GridLayout
事件模型:
程序员只需做两件事:告诉事件源可以产生哪些事件、设计处理事件的
事件监听器
内部类:
在类内部定义的类
内部类的方法可以访问外部类的所有成员
外部类的方法不可以直接访问内部类任何成员
内部类产生的原因:类A需要使用类B的所有成员,并不需要被B外其
他类访问,则可以定义A为B的内部类;故几乎不存在直接生成内
部类对象、外部类访问内部类成员等问题
匿名类:
匿名类是内部类的一种极端表现形式
匿名类可以访问外部类的所有成员和包裹本匿名类方法中的final类型
的局部变量
5 IO
定义:若一个类用来完成程序和设备之间的数据传输,该类称为流
流和类的关系:流一定是类,类不一定是流
常用流介绍:
四大基本抽象流:InputStream OutputStream Reader Writer
字节流和字符流:字节流可以处理任意格式文件
字符流只能处理文本格式文件
文件流:FileInputStream FileOutputStream FileReader FileWriter
缓冲流:BufferedInputStream BufferedOutputStream
BufferedReader BufferedWriter
转化流:InputStreamReader OutputStreamWriter
例子:将键盘输入字符保存到String对象中
数据流:DataInputStream DataOutputStream
数据流可以把基本类型数据的二进制直接读入、写出
例子:将long类型数据写入byte数组,再从数组中读出
Print流:PrintStream PrintWriter
Print流可以把基本数据类型数据格式化后的字符串输出
例子:将键盘输入数据写入A文件,有错则将出错信息写入B文件
Object流:ObjectInputStream ObjectOutputStream
Object流可以把一个对象直接读入、写出
6 容器
定义:专门用来存放其他类对象的类
容器和类的关系:容器是类,类不一定是容器
Collection接口:
Set接口:
无序、不能重复
实现类:TreeSet、HashSet
List接口:
有序、可重复
实现类:ArrayList、LinkedList
Map接口:
既保存数据本身,也保存数据主键
实现类:HashMap、TreeMap
HashCode()和equals()方法
Collections类:提供对Collection接口实现类的排序、倒置、查找等
功能
Comparable接口:
通过该接口制定对象之间比较的接口
需要进行对象比较排序的场合考虑实现该接口
Iterator接口:
利用接口提供的方法遍历所有容器中的对象
郝斌JAVASE大纲相关推荐
- C语言郝斌视频学习一 变量为什么要初始化和一个小例子以及大纲笔记
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以"85"开头的很大的数字(此时该段内存中为一个垃圾 ...
- 郝斌c语言大纲百度云,C语言学习大纲 郝斌(讲解)
教你如何快速掌握C语言,郝斌讲解,幽默而且加深了解.... 语言概述: 1.为什么学习C语言 1). C的起源和发展 2).C的特点 优点 代码量小 速度快 功能强大 缺点 危险性高 开发周期长 可移 ...
- 《 郝斌 java自学视频 完结 》_《[郝斌]Java自学视频[完结]》AVI[压缩包]
中文名: [郝斌]Java自学视频[完结]资源格式: 压缩包版本: AVI发行时间: 2009年地区: 大陆对白语言: 普通话文字语言: 简体中文简介: 特别说明: 视频原始来源为互联网,原始格式为F ...
- 郝斌《数据库(SQL Server2005)自学视频_全集》[电驴资源]
下载地址: 郝斌SqlServer_2005自学视频_全集.rar (823.53 MB) ed2k://|file|%E9%83%9D%E6%96%8CSqlServer_2005%E8%87%AA ...
- Java入门学习笔记——郝斌(一)概述及面向对象
Java入门学习笔记--郝斌 1.Java概述 java的起源和发展 java的特点 java的应用领域 java学习目标 环境变量的设置 为什么要设置path? path的设置 有关classpat ...
- 郝斌老师C语言学习笔记(一)
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以"85"开头的很大的数字(此时该段内存中为一个垃圾 ...
- 郝斌数据结构教程 送给数据结构新手的福利
下面的链接是郝斌数据结构教学视频下载地址: *无论在校大学生还是工作人员,数据结构是算法的奠基石,打好基础,至关重要. 各位在学习之余有空看看该教程会有很大的帮助,希望大家喜欢,多多支持. http: ...
- 郝斌数据结构全套教程高清在线观看和下载-学习数据结构必看
郝斌数据结构全套共78集 郝斌数据高清在线观看 https://www.bilibili.com/video/av49304765/ 郝斌数据高清在线观看 https://www.bilibili.c ...
- 郝斌老师-C语言视频教程(全180讲)
<郝斌C语言自学教程>郝斌老师C语言自学专讲180集完整版 目录: 180_C期末考试测试题讲解 下 179_NULL的含义 178_C期末考试测试题讲解上 177_文件 宏 typede ...
- 郝斌数据结构——链表
郝斌数据结构 -- 链表 文章目录 1. 定义 2. 专业术语: 3. 注意事项 4. 代码 1. 定义 定义:n 个节点离散分配:彼此通过指针相连:每个节点只有一个后续节点,首节点没有前驱 节点,尾 ...
最新文章
- svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)...
- 毕业以来,今天第一次领到工资,好兴奋哪
- 来不及想标题了,我要去打包收藏了 | 本周值得读
- golang的一个简单小爬虫demo学习记录
- Spring之使用外部属性文件
- leetcode669. 修剪二叉搜索树
- 更新MySQL复制 自动监控脚本
- python 的err输出BaseException
- mysql update多个字段_常见的MySQL命令大全fourth
- Java 换行和回车
- pip install时出现问题,ERROR: Could not install packages due to an OSError: ./lib/python3.7/site-packages
- 用OFFICE 2007发送的文章
- 【题解】Luogu P2147 [SDOI2008]洞穴勘测
- javascript 遍历数组的常用方法(迭代、for循环 、for… in、for…of、foreach、map、filter、every、some,findindex)
- Qt软件开发-Qt编译zlib完成文件压缩解压(win10)
- MQ消息队列常用命令
- 计算机桌面显示器,电脑安装多显示器方法图文教程
- Java使用OpenOffice将office文件转换为PDF
- 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
- Linux 重新加载 nginx 配置命令