- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕向东java教学视频跟踪笔记精要
java面向对象
1静态关键字static
是一个修饰符,用于修饰成员(成员变量,成员函数)
特点:
随着类的加载而加载
也就是说静态会随着类的消失而消失说明它的生命周期最长
明确一点
可以直接被类名所调用
.实例变量与类变量的区别:
1.存在位置类变量随着类的加载而存在存在于方法区中
实例变量随着对象的建立而存在于堆内存中
类变量生命周期最长随着类的消失而消失
实例变量随着对象的消失而消失
静态方法只能访问静态成员,非静态方法既可以访问静态又可以访问非静态
静态方法中可以定义
主函数是的
静态有利有弊
利处对对象的共享数据进行单独空间的存储节省空间没有必要每一个对象都存储一份可以直接被类名调用
什么时候使用静态
帮助文档制作
静态代码块
Jvm新建对象做了哪些操作
1.2设计模式
代码实现
饿汉式:
记录原则:开发时,建议使用饿汉式
1.3继承
注意不能因为要使用其他类的功能简化代码而继承
必须是类之间有所属关系才可以继承所属关系为
Java语言中只支持单继承不支持多继承因为存在安全隐患C++支持但是java保留这种机制并用另一种方式来实现
Java支持多层继承也就是一个继承体系
如何使用继承体系中的功能呢
想要
那么在具体调用时要创建最子类的对象
因为父类对象有可能不能创建对象;
创建子类对象可以使用更多的功能包括基本的和特有的
简单一句话查阅父类功能创建子类使用功能
Java中除了继承关系外还有聚集聚合组合关系
继承关系接口与接口之间多继承
实现关系类与接口之间子父类中变量关键字this和
子父类中函数关系:
子父类中的构造函数:
final关键字
抽象类:
抽象类实例:
1.4模块方法模块:
以下代码中:
关键字final是让确定的getTime()方法不被子类继承,而不确定的部分则抽象在runcode()方法中暴露出去让子类去实现;
注意:runcode()方法不一定都定义为抽象方法,因为模板有默认的实现存在
1.5接口
接口可以被类多实现,这也是java类多继承不支持的转换形式,java支持多实现;
注意:接口因为没有方法体而支持多继承,类可以继承类又实现接口;
例:class C extends B implements A
接口的特点:
接口是对外暴露的规则
接口是程序的功能扩展
接口是可以多实现的
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
接口与接口之间可以有继承关系,并且支持多继承
1.6多态
定义
动物猫狗
猫
动物 x=new 猫();
多态的体现
父类的引用指向于自己的子类对象
父类的引用也可以接收自己的子类对象多态的前提
必须是类与类之间有关系要么继承要么实现
通常还有一个前提多态的好处
大大提高了程序的扩展性
提高了扩展性,但是只能使用父类的引用访问父类中的成员
多态的应用
多态的出现代码中的特点
注意创建对象时静态静态绑定
Object类
定义所有对象的直接或者间接父类传说中的上帝
该类中定义了所有对象都具备的功能;
Object中已经提供了对对象是否相同的比较方法
如果自定义中也有比较相同的功能,没有必要重新定义只要沿袭父类中的功能建立自己特有的比较内容即可
1.8内部类
存在没有父类和接口的匿名内部类吗?答案是肯定的,还有一个所有类的父类Object类:
异常机制
异常—finally代码块:
包package
对类文件进行分类管理。
给类提供多层命名空间
写在程序文件的第一行
类名的全称是类名
包也是一种封装形式
Import关键字:
为了简化类名的书写使用一个关键字import.
Import 导入的是包中的类
建议,不要写通配符*,需要用到包中的哪个类,就导入哪个类。
Jar包
2 多线程
2.1相关定义
进程是一个正在执行的程序
每一个进程执行都有一个执行顺序该顺序是一个执行路径或者叫一个控制单元
线程
线程控制着进程的执行。
一个进程至少有一个线程。
Java VM启动的时候会有一个进程java.exe.
该
而且这个线程运行的代码存在于main方法中
该线程称之为主线程
扩展其实更细节说明jvm
2.2如何在自定义的代码中,自定义一个线程?
通过对API的查找java已经提供了对线程这类事物的描述就Thread类
创建线程的第一种方式继承Thread类
2.3为什么要覆盖run方法呢?
线程运行状态:
/*
简单的买票程序,多个窗口同时卖票
*/
class Tick
文档评论(0)