毕向东老师JavaSE基础视频08笔记上[5篇范文]

时间:2019-05-12 20:37:32下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《毕向东老师JavaSE基础视频08笔记上》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《毕向东老师JavaSE基础视频08笔记上》。

第一篇:毕向东老师JavaSE基础视频08笔记上

一:数据工具对象的建立: 最初:代码写在main中

第二阶段:升级到函数中.可以复用.第三阶段:为了让另外一个类,能调用某函数,用类进行封装.二:数组工具中静态方法的使用.: 函数是否是静态的:只看一点就是是否访问对象的特有数据.这样要调用这个方法,不用创建对象,否则浪费空间.则把构造函数设置为private.三:数据工具类—文旦注释.文档注释中有一些关键词也是能被直接提取:@开头

要进行文档化,则类修饰必须用public,用javadoc提取之后变成这样了.classpath设置了之后只在当前的classpath中查找,不会去当前目录查找,除非当前目录也设置在其中./** */ 四:设计模式:对问题行之有效的解决方式,其实他是一种思想,java模式有23中基本.1:单例设计模式

解决的问题:就是可以保证一个类中在内存中的对象的唯一性.如果都设置成静态,在变量多的时候就生命周期过长导致浪费.例如:对于多个程序使用同一个配置信息的对象时,就需要保证该对象的唯一性.如何保证对象的唯一性饿方法,? 1:不允许其他程序用new创建该类对象.2:在该类中创建一个本类实例.3:对外提供一个方法,让其他程序可以获取该对象.步骤: 1:private修饰构造方法.私有化每个.2:通过new在本类中创建一个本类对象.3:定义一个共有的方法,将创建的对象返回.(可控,直接通过.变量名来操作则不可控)

现在要保证text对象的唯一性.加入三步骤,并改一下主函数的方法.五:单例设计模式图解: 第一步:加载了类.六:单例设计模式懒汉式

之前第一种方法,一加载就马上建立对象,恶汉式

但是这种方法是只有调用getInstance方法时才会创建对象,称之为单例设计模式的延迟加载模式.但是如果被多线程操作时存在安全隐患.面试懒汉式,开发多用恶汉式.

第二篇:毕向东java教学视频跟踪笔记(写写帮推荐)

1.java面向对象

1.1静态关键字static 用法:

是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被Static修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用(类名.静态成员);

特点:

1.随着类的加载而加载

也就是说:静态会随着类的消失而消失,说明它的生命周期最长; 2.优先于对象而存在

明确一点:静态是先存在的,对象是后存在的; 3.被所有对象所共享

4.可以直接被类名所调用

.实例变量与类变量的区别:

1.存在位置

类变量随着类的加载而存在存在于方法区中 实例变量随着对象的建立而存在于堆内存中 2.生命周期

类变量生命周期最长,随着类的消失而消失 实例变量随着对象的消失而消失

静态使用注意事项

1.静态方法只能访问静态成员,非静态方法既可以访问静态又可以访问非静态;

2.静态方法中不可以定义this、super关键字,因为静态优先于对象存在,所以静态方法中不可以出现this; 3.主函数是静态的;

静态有利有弊

利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象都存储一份,可以直接被类名调用

弊端:生命周期过长,访问出现局限性(静态虽好,但只能访问静态)

什么时候使用静态

帮助文档制作

静态的应用

静态代码块

Jvm新建对象做了哪些操作

1.2设计模式

代码实现:

饿汉式:

记录原则:开发时,建议使用饿汉式

1.3继承

注意:不能因为要使用其他类的功能,简化代码而继承; 必须是类之间有所属关系才可以继承,所属关系为is a;

Java语言中:类关系只支持单继承,不支持多继承,只有在接口与接口之间才支持多继承,因为存在安全隐患:当多个父类中定义了相同功能,但功能内容不同时,子类对象不确定要执行哪一个;而接口中因为没有方法体而支持多继承避免了这种安全隐患;C++支持,但是java保留这种机制,并用另一种方式来实现(多实现); Java支持多层继承:也就是一个继承体系 如何使用继承体系中的功能呢?

想要使用体系,先查阅体系父类的描述,因为父类中定义了该体系中共性的功能,通过了解共性功能,就可以知道该体系中的基本功能;那么这个体系就基本可以使用了。那么在具体调用时,要创建最子类的对象,为什么? ① 因为父类对象有可能不能创建对象;

② 创建子类对象可以使用更多的功能,包括基本的和特有的; 简单一句话:查阅父类功能,创建子类使用功能

Java中除了继承关系外,还有聚集,聚合,组合关系; 继承关系:类与类之间,接口与接口之间(支持多继承)实现关系:类与接口之间

子父类中变量关键字this和super的使用:

子父类中函数关系:

子父类中的构造函数:

final关键字

抽象类:

抽象类实例:

1.4模块方法模块:

以下代码中:

关键字final是让确定的getTime()方法不被子类继承,而不确定的部分则抽象在runcode()方法中暴露出去让子类去实现;

注意:runcode()方法不一定都定义为抽象方法,因为模板有默认的实现存在

1.5接口

接口可以被类多实现,这也是java类多继承不支持的转换形式,java支持多实现; 注意:接口因为没有方法体而支持多继承,类可以继承类又实现接口; 例:class C extends B implements A 接口的特点:

① 接口是对外暴露的规则 ② 接口是程序的功能扩展 ③ 接口是可以多实现的

④ 类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口 ⑤ 接口与接口之间可以有继承关系,并且支持多继承

1.6多态

定义:可以理解为事物存在的多种体现形态 人:男人,女人 动物:猫,狗 猫 x=new 猫(); 动物 x=new 猫(); 1.多态的体现

父类的引用指向于自己的子类对象 父类的引用也可以接收自己的子类对象 2.多态的前提

必须是类与类之间有关系,要么继承,要么实现 通常还有一个前提 存在覆盖 3.多态的好处

大大提高了程序的扩展性 4.多态的弊端

提高了扩展性,但是只能使用父类的引用访问父类中的成员 5.多态的应用

6.多态的出现代码中的特点

注意创建对象时:静态——》静态绑定

非静态——》动态绑定

1.7 Object类

定义:所有对象的直接或者间接父类,传说中的上帝。

该类中定义了所有对象都具备的功能;

Object中已经提供了对对象是否相同的比较方法;

如果自定义中也有比较相同的功能,没有必要重新定义,只要沿袭父类中的功能,建立自己特有的比较内容即可。

1.8内部类

存在没有父类和接口的匿名内部类吗?答案是肯定的,还有一个所有类的父类Object类:

1.8 异常机制

异常—finally代码块:

1.9 包package 对类文件进行分类管理。

给类提供多层命名空间。写在程序文件的第一行。类名的全称是 包名.类名。包也是一种封装形式。

Import关键字:

为了简化类名的书写,使用一个关键字,import.Import 导入的是包中的类。

建议,不要写通配符*,需要用到包中的哪个类,就导入哪个类。Jar包: 多线程

2.1相关定义

进程:是一个正在执行的程序;

每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。线程:就是进程中一个独立的控制单元。

线程控制着进程的执行。

一个进程至少有一个线程。

Java VM启动的时候会有一个进程java.exe.该进程至少有一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。

扩展:其实更细节说明jvm,jvm启动不止一个线程,还负责垃圾回收机制的线程。否则将会导致主程序执行一段之后又返回回收垃圾,从而导致程序中止,所以jvm是一个多线程。

2.2如何在自定义的代码中,自定义一个线程?

通过对API的查找,java已经提供了对线程这类事物的描述。就Thread类。创建线程的第一种方式:继承Thread类。

2.3为什么要覆盖run方法呢?

线程运行状态:

/* 简单的买票程序,多个窗口同时卖票 */

class Ticket extends Thread { private static int tick=100;public void run(){ while(true){

if(tick>0)

System.out.println(Thread.currentThread().getName()+“sale: ”+tick--);} } }

class TicketDemo { public static void main(String[] args){ Ticket t1=new Ticket();Ticket t2=new Ticket();Ticket t3=new Ticket();Ticket t4=new Ticket();t1.start();t2.start();t3.start();t4.start();} }

class Ticket implements Runnable//extends Thread { private /*static*/ int tick=100;public void run(){ while(true){

if(tick>0)

System.out.println(Thread.currentThread().getName()+“sale: ”+tick--);} } }

class TicketDemo { public static void main(String[] args){ Ticket t=new Ticket();Thread t1=new Thread(t);t1.start();/* Ticket t1=new Ticket();Ticket t2=new Ticket();Ticket t3=new Ticket();Ticket t4=new Ticket();t1.start();t2.start();t3.start();t4.start();*/ } }

2.4线程间通信

下载毕向东老师JavaSE基础视频08笔记上[5篇范文]word格式文档
下载毕向东老师JavaSE基础视频08笔记上[5篇范文].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐