java基础知识培训.ppt_第1页
java基础知识培训.ppt_第2页
java基础知识培训.ppt_第3页
java基础知识培训.ppt_第4页
java基础知识培训.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java基础知识培训 目录 第1章Java发展历史及现状第2章Java基本语法第3章面向对象 培训要点 3 第一章Java的趣味发展史以及现状第二章publicclass和class的声明的区别Java的数据类型基本数据类型引用数据类型数据类型的默认值数据类型的转换循环控制fordo whilewhileif else数组 培训要点 方法方法的格式方法重载构造函数函数重载的区分为什么不以返回值区分重载方法方法与数组第三章this表示 调用方法的那个对象 在构造器里调用构造器的限制不能在一个构造器调用两个构造器必须将构造器调用置于最起始处 4 培训要点 开发的方式面向对象三个特征封装继承多态面向过程类的封装性类的图形表示构造方法匿名对象字符串Object的几个重要的方法Object equalsObject hashCodeObject toString 5 培训要点 static在static方法内部不能调用非静态方法finalize工作原理析构函数设计一个简单的问题 要求用户输入用户和口令 如果用户为xiaoX 口令为123 则向控制台打印登录成功 否则打印登录失败构造函数私有化代码块内部类函数回调继承final关键字抽象类接口 6 培训要点 对象的多态性抽象类和接口的应用适配器模式简单工厂模式代理模式异常包持有对象字符串 7 Java发展史 SUN 斯坦福大学网络1991年GREEN项目C 新的平台Oak网景公司1995年Oak命名为Java1998年Java2Java技术的主要分支J2SEJ2MEJ2EEJAVA62012年即将推出JAVA7 8 Java发展史 三者之间的关系 9 Java特点 面向对象编译型语言编译型语言和解释型语言的区别 解释性语言在运行程序的时候才翻译 比如解释性basic语言 专门有一个解释器能够直接执行basic程序 每个语句都是执行的时候才翻译 这样解释性语言每执行一次就要翻译一次 效率比较低 Java虚拟机指针Java里不存在指针 因为java所有的对象 都是指针调用 低层以C 开发JVM保证了一次编译 处处运行 理论上 多厂家都有自己的jvm 10 Java基础命令 Java versionJavacJdbjava cp MON CP XM com sdunicomsi monitor agent AgentSendInfo源文件与字节码 publicclass和class的确别 建立一个文件名Person的类publicclassPersonDemo 12 关键字 标识符 转义符 在Java语言中 标识符是赋予变量 类和方法等的名称 标识符由编程者自己指定 但需要遵循一定的语法规范 1 标识符由字母 数字 下划线 美元符号 组成 但美元符号用得较少 2 标识符从一个字母 下划线或美元符号开始 3 Java语言中 标识符大小写敏感 必须区别对待 4 标识符没有最大长度的限制 但最好表达特定的意思 5 标识符定义不能是关键字 转义符 关键字又称保留字 是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符 如public double等 转义符是指一些有特殊含义的 很难用一般方式表达的字符 如回车 换行等 所有的转义符以反斜线 开头 后面跟着一个字符来表示某个特定的转义符 i 和 i是有区别的 i 是在一个先使用后加1 即先使用i的值 后让i 1 i则是先加1后使用 即先让i 1后再使用i的新值classijiajia publicstaticvoidmain String args System out println HelloWorld inti 3 intcount i i i System out println i i 6System out println count count 12intj 3 count j j j count 4 5 6System out println j j 6System out println count count 15 数据类型 基本数据类型intcharbytelongfloatdouble引用数据类型New接口类对象数组String是不基本数据类型 16 数据类型的默认值 基本数据类型都有自己的默认值privateintage 默认值为0 17 控制语句 ifdo whilewhileforforeach JDK1 5之后的新特性 18 foreach示例 publicclassForEach publicstaticvoidmain String args String aa 小刚 小明 小敏 小红 JDK1 4之前for inti 0 i aa length i System out println aa i JDK1 5之后 包括JDK1 5foreach Strings aa System out println s 19 数组的声明 int aa newint 10 int aa null aa newint 10 int aa 1 10 2 20 方法 public数据类型 void方法名 参数类表 构造函数实际上就是一种重载函数重载的唯一标志就是参数列表 21 方法重载实例 classNumber publicvoidadd intx System out println intx x publicintadd intx System out println doublex x Return1 publicclassMethodDemo publicstaticvoidmain String args Numbernumber newNumber number add 1 number add 1f 22 可变参数 新特性 publicclassMethod1 publicstaticvoidmain Stringargs inttemp 2 4 6 8 fun 没有参数fun 1 一个参数fun 1 3 5 7 9 一个参数fun temp publicstaticvoidfun int arg for intx arg System out print x System out println 23 为什么不一返回值确定一个方法 publicclassMethodDemo1 publicvoidfun System out println HelloUnion publicStringfun System out println HelloUnion publicstaticvoidmain String args fun 24 方法与数组 publicclassMethodArray publicstaticvoidmain Stringargs inttemp 1 3 5 7 9 声明数组fun temp print temp publicstaticvoidfun int x x 0 6 修改第一个元素 publicstaticvoidprint int x for inti 0 i x length i System out print x i 25 this关键字 调用类的属性this 属性调用类的方法this 方法调用类的构造方法this 表示当前对象this 26 this关键字 classPerson Stringname publicStringgetName returnname publicvoidsetName Stringname name name 27 this关键字 28 publicclassBook publicBook System out println book publicBook intx System out println book System out println book x publicBook intx inty System out println book System out println book x System out println book y this关键字 29 publicclassBook publicBook System out println book publicBook intx this System out println book x publicBook intx inty this x System out println book y Super关键字 调用父类的属性super 属性调用父类的方法super 方法调用父类的构造方法super 在构造函数内 super 必须放在第一行 开发方式 31 面向过程主要是解决问题 有点记叙文的味道面向对象是一套系统的开发的模式 更能贴近现实事物一种思路 开发方式 32 面向过程主要是解决问题 有点记叙文的味道面向对象是一套系统的开发的模式 更能贴近现实事物一种思路 特征抽象封装性继承性多态性 类和对象 33 类和对象 34 类的组成访问类的属性和方法 类的封装性 classPerson Stringname intage publicclassClient Personper newPerson per name 小明 per age 10 加入private 35 类的图形表示 36 构造方法与匿名对象 37 构造方法必须与类名相同构造方法没有返回值可以有多构造方法每个必须有构造方法classPerson 通俗的说只使用一次的对象称为匿名对象 字符串拆分 38 publicclassStringDemo publicstaticvoidmain String args Strings asd 333 2222 000 1111 String s a s split for Strings1 s a System out print s1 System out print n Stringss asd 333 fff sss asdfsad 这个字符串怎么根据 拆分为字符串数组 Object equals 39 classPerson intage publicclassClient Personper1 newPerson Personper2 per1 Per2 age 1 System out println per1 equals per2 Object equals 40 classPersion privateintage publicintgetAge returnage publicvoidsetAge intage this age age Overridepublicbooleanequals Objectobj if this obj returntrue if objinstanceofPersion if this age Persion obj getAge returntrue returnfalse publicclassEqualsDemo1 publicstaticvoidmain String args Persionper1 newPersion Persionper2 newPersion per1 setAge 10 per2 setAge 10 System out println per1 equals per2 Object hashCodetoString 41 一般重写了基类的equals方法 也要重写hashCode方法HashMapHashTabletoString的必要性classPerson intname publicstaticvoidmain String args System out println newPerson static关键字 42 类名称 static属性 方法 finalize关键字 43 工作原理 一旦垃圾回收器准备释放对象占用的存储空间 将首先调用finalize 方法 并且在下一次垃圾回收动作发生时 才会真正回收对象占用的内存 finalize不等于析构函数Finalfinally 登录示例 44 pubicclassClient publicstaticvoidmain String args Stringname args 0 Stringpassword args 1 if name equals xiaoX 构造函数私有化 45 classMessageInfo privateMessageInfo publicclassClient publicstaticvoidmain String args MessageInfoinfo newMessageInfo 代码块 46 普通代码块构造块静态块 内部类 47 内部类就在一个类的内部又定义了一个类classOuterClass privateintname classInnerClass publicvoidfun System out println name 函数回调 48 publicinterfaceICallBack publicvoidprint publicclassPrinter ICallBackic voidsetCallBack ICallBackic this ic ic voidexecute ic print 函数回调 49 publicclassPrintHandler publicstaticvoidmain String args Printerprinter newPrinter printer setCallBack newICallBack publicvoidprint System out println Thisisacallback 这句话可以设置成当满足某条件时再执行printer execute 继承 50 继承就是扩展已有类的功能 父类称为 超类 子类称为 派生类 继承的限制子类的实例化过程方法的覆写 final关键字 51 声明类finalclassA 声明方法publicfinalvoidfun 声明属性publicfinalStrings HelloUnion 抽象类abstract 52 abstractclassA publicabstractvoidfun classClient publicstaticvoidmain String args Aa null a newA cuowu 抽象类是否能用final关键字来修饰不能抽象类是否可以有构造函数必须有接口不可以有构造方法不能有方法体 接口 53 接口是一种特殊的类 在接口中定义的方法全部都是抽象方法 定义的属性全部都是全局常量一个类可以实现多个接口只有一个父类一个接口可以继承多个接口 多态性 54 向上转型 子类引用调用父类对象 向下转型 父类引用指向子类对象 可以调用子类的特有方法父类设计很重要 抽象类和接口的应用 55 适配器模式interfaceManageObject publicvoidfun1 publicvoidfun2 publicvoidfun3 但是我又不想实现ManageObject接口的所有方法 只有一部分方法是我需要的 怎么办 抽象类和接口的应用 56 简单工厂模式interfaceFruit voideat classOrangeimplementsFruit publicvoideat System out pritnln 吃桔子 classClient publicstaticvoidmain String args Fruitfruit newOrange fruit eat 如果 抽象类和接口的应用 57 简单工厂模式interfaceFruit voideat classOrangeimplementsFruit publicvoideat System out pritnln 吃桔子 classClient publicstaticvoidmain String args Fruitfruit newOrange fruit eat 如果现在又多了一个水果为Apple 客户端现在不吃桔子了 改吃苹果 那只能修改Fruitfruit newApple 这样设计的缺陷是什么 抽象类和接口的应用 58 代理模式如果A类要去执行一个方法 但是A类不直接去执行 而是委托B类去执行 这个方法 那为什么这么做 interfaceZ voiddoIt classAimplementsZ publicvoiddoIt System out printl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论