欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java语言程序设计-PPT课件(全)全书教学教程完整版电子教案最全幻灯片.pptx

    • 资源ID:76341568       资源大小:1.09MB        全文页数:244页
    • 资源格式: PPTX        下载积分:19金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java语言程序设计-PPT课件(全)全书教学教程完整版电子教案最全幻灯片.pptx

    JAVA语言程序设计第一章 搭建IDE环境本章学习要点掌握JDK的下载与安装;掌握path变量的配置;掌握使用记事本编写、编译和运行Java程序;掌握使用IntelliJ IDEA编写、编译和运行Java程序;理解path变量的作用;理解Java的运行机制。1.1 JAVA语言简介语言简介Java语言是面向对象编程思想的一种高级语言JavaSE是各应用平台的基础,要想学习JavaEE和JavaME,必须先要学习JavaSE。而本书主要介绍的就是JavaSE。JavaSE可以分为四个主要的部分:JVM、JRE、JDK和Java语言。要想运行用Java编写好的程序,JVM必不可少。JVM(Java Virtual Machine,JVM)叫Java虚拟机,包括在Java执行环境(Java SE Runtime Enviroment,JRE)中,所以要运行Java程序,就必须先安装JRE,而JRE又包括在JDK中。JDK(Java SE Development Kits)称为Java开发工具包,包括JRE及开发过程中需要的一些工具程序,如javac、java等。1.2 JDK的下载和安装的下载和安装本书使用的JDK版本是Java SE。最新的JDK,可以在Oracle官网上下载。JavaSE 8u221,这是JDK8,也是本书要用到的版本。1.3 JDK的安装的安装默认路径安装即可注意两个路径:C:Program FilesJavajdk1.8.0_221C:Program FilesJavajre1.8.0_221安装成功显示:安装完JDK之后,打开 C:Program FilesJava,能看到两个文件夹,即表示JDK安装成功 1.4 JDK目录介绍目录介绍bin目录:该目录用于存放一些可执行程序,其中最重要的就是javac.exe和java.exe。include目录:由于JDK是通过C和C+实现的,因此启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。jre目录:此目录是Java运行时环境的根目录,包含Java虚拟机、运行时的类包、bin目录,但不包含开发工具。lib目录:lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。src.zip文件:src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。1.5 使用记事本编写使用记事本编写JAVA的第一个程序的第一个程序1.在C:Program FilesJavajdk1.8.0_221bin文件夹下新建文本文档,特别提醒,一定要将扩展名显示出来,能看到文本文档的.txt扩展名。2.将文本文档重命名为HelloWorld,将扩展名txt改为java。3.用记事本打开文件,并输入如下程序代码:1 public class HelloWorld 2 public static void main(String args)3 System.out.println(HelloWorld);4 5 4.编译文件:javac HelloWorld.java 5.运行文件:javac HelloWorld.java 1.6 配置配置PATH 变量变量1.5节中,我们是在C:Program FilesJavajdk1.8.0_221bin目录下编写的HelloWorld.java,但在实际开发中,我们更需要把源文件放在另外的路径下。现在我们将HelloWorld.java剪切到D:java book目录下,在编译该文件时,会报找不到javac命令。path环境变量是系统环境变量的一种,用于保存一系列的路径,每个路径之间以分号隔开。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找该文件是否存在,如果不存在,会继续在path环境变量中定义的路径下寻找文件,如果仍未找到,系统会报找不到命令的错误。只需要在path变量中添加javac.exe和java.exe两个命令的安装路径即可。1.7 INTELLIJ IDEA开发开发JAVA项目项目IntelliJ IDEA简称 IDEA,是java编程语言开发的集成环境。IDEA有两个版本:Ultimate和Community。其中Ultimate是针对web开发的版本,Community是针对Java和Android开发的。本书中选择Community版本。该软件的安装很简单,直接单击next,直到最后单击finish按钮即可。1.8 JAVA中的注释中的注释注释是为了让别人看懂程序,是对程序的某个功能或者某行代码的解释说明,只在源文件内有效,不会被编译到字节码文件中。Java中的注释分为三种。1.单行注释单行注释通常用于对某一行代码进行解释,用符号”/”表示2.多行注释多行注释可以注释多行内容,以“/*“开始,”*/“结束。3.文档注释文档注释是对一段代码概括性的解释说明,以“/*“开始,”*/“结束。1.9 本章小本章小结简单介绍了Java语言的特点及三大体系;详细讲解了JDK的下载与安装及目录;详细地展示了使用记事本如何编写Java源文件;如果配置path变量以便在任意目录下能编译和运行源文件;讲解了Java程序的运行机制;讲解了Java程序的开发工具IDEA,详细展示了在IDEA中创建Java项目的过程。第二章 JAVA编程基础本章学习要点理解数据类型的概念;理解常量、常量值和变量的概念;掌握数据类型的自动转换和强制转换;掌握各种运算符的运算规则;掌握选择语句和循环语句的使用规则;掌握数组的定义和使用;掌握foreach语句的使用;深刻理解类和对象的概念;掌握类的定义、对象的创建和使用。2.1 对象和类的概念对象和类的概念2.1.1 对象的概念2.1.2 类的概念2.1.1 对象的概念对象的概念所谓对象就是现实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象的特点:1.对象具有唯一性2.对象具有属性和行为。2.1.2 类的概念类的概念类是对对象的抽象,是对某一类事物的共性描述,定义了一类事物共有的特征属性和功能行为。对象和类有什么关系呢?类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体,每个对象都是独一无二的,对象也称为类的实例(instance)。类是对象的模板,通过该模板就能创建一个一个具体的对象。2.2 类的定义和对象的创建类的定义和对象的创建2.2.1 类的定义2.2.2 对象的创建2.2.3 对象的使用2.2.1 类的定义类的定义语法格式为:类修饰符 class 类名 extends 超类名 implements 接口名列表 类体内容其中,“类修饰符 class 类名 extends 超类名 implements 接口名列表”为类的声明部分,“”为类体部分。表示可选项,可以省略2.2.1 类的定义类的定义类的最简化的定义格式如下:class 类名 成员变量 成员方法2.2.1 类的定义类的定义“猫”类的定义代码如下。1 class Cat2 String name;3 void catchMouse(Mouse mouse)4 System.out.println(name+“抓偷吃的”+mouse.name);5 6 2.2.2 对象的创建对象的创建Java语言中,使用new关键字来创建对象,具体格式如下:类名 对象名=new 类名();用Cat类创建一个cat对象:Cat cat=new Cat();其中“new Cat()”用于创建Cat类的一个实例对象,“Cat cat”则是声明了一个Cat类型的引用变量cat。中间的等号用于将Cat对象在内存中的地址赋值给变量cat,这样变量cat便持有了对象的引用。2.2.3 对象的使用对象的使用对象的使用原则是先创建后使用。对象的使用是指对象引用类中的成员变量或方法。Java语言通过引用操作符“.”实现对象对成员变量或方法的引用,一般格式为:对象名.成员变量名对象名.成员方法名(参数列表)例如:Cat类的对象cat引用类的成员变量name和方法catchMouse(),代码示例如下:cat.name=”花花”;cat.catchMouse();2.3 类的成员变量类的成员变量 2.3.1 数据类型 2.3.2 常量和常量值 2.3.3 变量 2.3.4 数据类型之间的转换 2.3.1 数据类型数据类型数据类型的出现就是为了把数据分成所需内存大小不同的数据。在Java语言中,不同的数据类型占据不同大小的内存空间,不同的数据类型的值表现形式也不一样。什么是数据类型呢?Java中的数据类型规定了不同的数据在内存中所占的空间大小,分为基本的数据类型和引用数据类型。基本数据类型共8种:int(整型)、long(长整型)、short(短整型)、byte(字节型)、double(双精度浮点型)、float(单精度浮点型)、char(字符型)和boolean(布尔型),2.3.1 数据类型数据类型引用的数据类型包括类、接口和数组,还有一种特殊的null类型。所谓引用就是对一个“对象”的引用。“对象”包括实例和数组两种。null类型就是null值的类型,这种类型没有名字,空引用(null)是null类型变量唯一的值。空引用可以转换为任何引用类型。但是空引用只能被转换为引用类型,不能转换成基本类型。2.3.2 常量和常量值常量和常量值1.常量值 常量值又称为字面常量,它是通过数据直接表示的。根据不同的数据类型,常量值分为整型常量值、实型常量值、字符型常量值和布尔型常量值四种。整型常量值:从数据的表现形式来看,整型常量值有十进制、八进制和十六进制三种表现形式,其中八进制的整型常量值是以0开头的,十六进制的整型常量值是以0 x(或0X)开头的,如10、017、0X9A等。从数据类型来看,整型常量值分为int、short、long和byte四种,长整型类型则要在数字后面加大写的英文字母 L 或小写的英文字母l,如 697L(或697l),整型常量值默认的是int类型的,如不具体指定3为short或者byte,默认3为int。2.3.2 常量和常量值常量和常量值实型常量值:从数据的表现形式来看,实型常量值就是带小数点的数据,如3.14、2.50等。实型常量默认在内存中占 64 位,是具有双精度型(double)的值。单精度型数值一般要在该数后面加 F 或 f,如 69.7f。字符型常量值:从数据的表现形式看,字符型常量值是带一对单引号的,如a、1等。注意:1是字符型常量值,而1是整型常量值。布尔型常量值:从数据的表现形式看,布尔型常量值只有true和false。2.3.2 常量和常量值常量和常量值常量。常量是指在程序的整个运行过程中值保持不变的量。常量不同于常量值,它可以在程序中用符号来代替常量值使用。常量的定义格式为:final dataType constantName在定义常量时,需要注意两点:第一,在定义常量时就需要初始化,而且其值不允许再被更改。第二,为了与变量区分,常量名一般都用大写字母。2.3.3 变量变量从字面意思上理解,常量的值一旦设置后就不能被修改的,而变量的值在程序运行期间可以被修改的。从内存的角度理解,在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存到一些内存单元中,每个内存单元都有一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。变量的声明格式为:dataTyPe variableName如:int a;2.3.4 数据类型之间的转换数据类型之间的转换数据类型之间的转换分为两种情况:自动类型转换和强制类型转换。自动类型转换,指的是把常量值(或者具有值的变量)赋值给不同数据类型变量时,常量值(或者变量的值)会自动地转换成与变量相同数据类型的常量值。要实现自动转换,必须同时满足两个条件:第一:两种数据类型彼此兼容第二:目标类型的取值范围大于源类型的取值范围,Java中基本数据类型的转换顺序为byte、short、charintlong floatdouble。2.3.4 数据类型之间的转换数据类型之间的转换当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这就需要进行强制类型转化。一般格式为:目标数据类型 变量=(目标类型)值其中()为强制类型转换符,作用是将值强制转换为目标数据类型的值。如int num=4;byte b=num;2.4 类的成员方法类的成员方法 2.4.1 Java中的各种运算符 2.4.2 Java中顺序结构的语句 2.4.3 Java中的选择语句 2.4.4 Java中的循环语句 2.4.5 数组和foreach语句2.4.1 JAVA中的各种运算符中的各种运算符从类的定义看出,类包含特征和行为,其中行为也称为类的成员方法,是用函数来定义的。函数就是完成一个个功能的代码块,而完成功能就离不开运算符和语句。1.算术运算符:对各种整数或浮点数等数值进行运算操作的符号2.关系运算符:关系运算符中“关系”二字的含义是指一个数据与另一个数据之间的关系,这种关系只有成立与不成立两种可能情况,用逻辑值true或false来表示。3.逻辑运算符:逻辑运算符的操作数只能是true或者false,判断的结果是 true 或 false。4.赋值运算符:指为变量或常量指定数值的符号,左边的操作数必须是变量,不能是常量或表达式。5.运算符的优先级 2.4.2 JAVA中顺序结构的语句中顺序结构的语句若是在程序中没有给出特别的执行目标,系统则默认自上而下一行一行地执行该程序,这类程序的结构就称为顺序结构。顺序结构中的语句分为表达式语句、空语句和复合语句3大类。1.表达式语句由各种运算符和操作数连接成的式子称为表达式,在表达式的后面加“;”就构成了表达式语句,如2+3*1;2.空语句空语句就是一个“;”,它在程序中什么也不做,也不包含具有实际性的语句。3.复合语句复合语句又称为语句块,用一对花括号表示,花括号内可以包含很多条语句。2.4.3 JAVA中的选择语句中的选择语句选择语句适合于带有逻辑或关系比较等条件判断的计算。Java中提供了两种选择语句:if语句和switch语句。其中if语句又分为if语句、ifelse语句、ifelse ifelse语句及嵌套语句。1.if语句if语句是指如果满足某种条件,就进行某种处理。语法如下:if(条件表达式)代码块 2.4.3 JAVA中的选择语句中的选择语句2.ifelse语句ifelse语句是指“如果XXX成立”,就要,“否则”就要.语法如下:if(条件表达式)代码块1else 代码块2 2.4.3 JAVA中的选择语句中的选择语句3.ifelse ifelse语句:这是一条多条件判断语句,适用于条件较多的情况下。语法如下:if(条件表达式1)代码块1else if(条件表达式2)代码块2 else if(条件表达式n)代码块nelse 代码块n+1 2.4.3 JAVA中的选择语句中的选择语句4.switch语句switch语句也是多条件判断语句,与ifelse ifelse语句等价。语法如下:switch(变量或表达式)case 整数(或字符、或字符串):代码块1 case 整数(或字符、或字符串):代码块2 default:代码块n2.4.4 JAVA中的循环语句中的循环语句Java中的循环语句主要有 while、dowhile、for。1.for语句for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。for 语句语法格式如下所示:for(条件表达式1;条件表达式2;条件表达式3)代码块;2.4.4 JAVA中的循环语句中的循环语句while 循环语句可以在一定条件下重复执行代码。该语句需要判断一个测试条件,如果该条件为真,则执行循环语句(循环语句可以是一条或多条),否则跳出循环。while 循环语句的语法结构如下:while(条件表达式)语句块;2.4.4 JAVA中的循环语句中的循环语句3.dowhile语句dowhile 循环语句由循环条件和循环体组成,但它与 while 语句略有不同。dowhile 循环语句的特点是先执行循环体,然后判断循环条件是否成立。dowhile 语句的语法格式如下:do 语句块;while(条件表达式);2.4.5 数组和数组和FOREACH语句语句数组可以看成是多个具有相同数据类型的数据的集合,这些数据称为数组元素,数组元素之间有先后顺序。一个数组元素可以用数组名和这个元素在数组中的顺序位置来表示,顺序位置是从0开始的。如a0代表数组a中的第1个元素,其中0就是数组元素在数组中的位置。1.定义数组:Java语言支持两种格式定义数组。type arrayName;type arrayName;2.4.5 数组和数组和FOREACH语句语句2.数组的初始化所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。数组的初始化有两种方式:静态初始化和动态初始化。静态初始化:初始化是由程序员显示指定每个数组元素的初始值,由系统决定数组长度,如int a=new int1,2,3,4,5。或者采用简写的形式int a=1,2,3,4,5。动态初始化:只指定数组的长度,如int a=new int5;由系统为每个数组元素指定初始值。2.4.5 数组和数组和FOREACH语句语句3.遍历数组元素数组最常见的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。访问数组元素的格式为:数组名数组元素下标。遍历数组元素通常用循环语句和foreach语句。2.4.5 数组和数组和FOREACH语句语句foreach语句在遍历数组、集合方面,foreach语句为开发者提供了极大的方便。foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。foreach 循环语句的语法格式如下:for(类型 变量名:集合)语句块;2.5 本章小结本章小结引入了对象和类的概念,深入讲解了什么是对象,什么是类,对象和类的关系,如何定义类,如何用类创建对象,如何使用对象。由类的类体中包含成员变量和成员方法两部分,引出了类的成员变量和类的成员方法两节,重点讲解了Java中的各种数据类型和选择、循环语句。第三章 面向对象程序设计(上)面向对象程序设计(上)本章学习要点理解类体中变量的分类;掌握静态变量和实例变量的区别;掌握成员变量和局部变量的区别;掌握静态方法和实例方法的区别;掌握this关键字的使用;掌握static关键字的使用;理解包的概念;掌握构造方法的创建;理解构造方法的作用;理解方法重载的概念;掌握访问权限修饰符的使用规则。3.1 类体中的变量类体中的变量 3.1.1 成员变量 3.1.2 局部变量 3.1.1 成员变量成员变量根据定义的位置不同,类体中的变量分为成员变量和局部变量两种。定义在类体中的变量称为成员变量,而定义在方法体内的变量称为局部变量。成员变量是在类体中定义的变量,也称为全局变量。根据成员变量的类型前面是否有static关键字,将成员变量分为静态变量和实例变量两种。1.静态变量:又称类变量,数据类型前面有static修饰。static的英文含义就是“静态的”,因此当成员变量的数据类型前面有static修饰时,称此时的成员变量为静态成员变量,也称为类变量。3.1.1 成员变量成员变量2.实例变量成员变量的数据类型前面有static修饰时,称为静态的成员变量,简称静态变量。那么,当成员变量的数据类型前面没有static修饰时,就称为实例变量。静态变量和实例变量的区别如下:1.静态变量的数据类型前面有static,而实例变量的数据类型前面没有static。2.静态变量的引用形式有两种:“类名.变量名”或者“对象名.变量名”。实例变量的引用形式只有“对象名.变量名”。3.静态变量是在类加载时,就会被分配内存空间,并且该类的所有实例的静态变量共享一块内存空间。而实例变量是在创建对象的时候才会被分配内存空间,而所有对象的实例变量占有不同的内存空间。4.静态变量和类共存亡,而实例变量和实例共存亡。3.1.2 局部变量局部变量根据定义的位置不同,类体中的变量分为成员变量和局部变量两种。定义在类体中的变量称为成员变量,而定义在方法体内的变量称为局部变量。成员变量和局部变量的共同之处:1.成员变量和局部变量的类型都可以是Java中的任何一种数据类型。2.成员变量和局部变量的名字都必须符合标识符规定,名字如果使用拉丁字母,建议首写字母小写;如果变量由多个单词组成,从第2个单词开始每个单词的首写字母使用大写。3.1.2 局部变量局部变量成员变量和局部变量的区别:1.成员变量定义在类体内部,作用范围是整个类,局部变量定义在方法体内部,只在定义它的方法体内有效,在方法外部不能被识别。2.成员变量没有初始化时,系统会分配默认值,而局部变量必须初始化。3.变量的作用域就是变量的有效范围,局部变量的作用域是它所在的方法或语句块,而成员变量作用域是整个类体。3.2 类体中的方法类体中的方法 3.2.1 静态方法和实例方法 3.2.2 构造方法 3.2.3 方法重载 3.2.1 静态方法和实例方法静态方法和实例方法当类体中的方法其方法类型前面有static修饰时,该方法称为静态方法或者类方法。当类体中的方法其方法类型前面没有static修饰时,该方法称为实例方法。静态方法的特点:第一,静态方法中只能使用静态成员,而不能使用非静态成员,静态成员包括静态变量和静态方法,非静态成员包括实例变量和实例方法。第二,静态方法的引用方式有两种:“类名.方法名”或者“对象名.方法名”。实例方法的特点:第一,实例方法中即可以使用非静态成员,也可以使用静态成员。第二,实例方法的引用方式只有一种:“对象名.方法名”。3.2.2 构造方法对象的创建是“new 类名()”。其中“类名()”从表面上看是一个方法,而且是一个无参方法。其中“类名”是方法名,这个方法有个名字叫“构造方法”。构造方法是特殊的方法,它特殊在什么地方呢?1.每个类中都会有构造方法。2.构造方法的方法名必须和类名一致,包括大小写规则3.构造方法只能由new运算符调用4.构造方法的作用就是用来创建对象的,也就说构造方法只有在创建对象的时候才会被调用。5.构造方法前面可以带有访问权限修饰符,如public、private。6.不允许有方法的返回值类型,也不能有空返回值数据类型void,所以构造方法内部严禁使用return关键字。3.2.3 方法重载方法重载是指在一个类中用同一个名字定义多个方法。方法的声明部分相同,方法的参数和方法体不同。参数不同包括参数的个数和参数的类型不同,不包括顺序不同。3.3 THIS关键字 3.3.1 在构造方法中使用this 3.3.2 在实例方法中使用this 3.3.1 在构造方法中使用在构造方法中使用THISthis关键字代表当前类的当前对象本身,更准确地说,this代表了当前对象的一个引用。this可以出现在构造方法、实例方法中,但不能出现在静态方法中。带参数的构造方法通常用来给成员变量初始化,为了避免起名字的麻烦,通常有参构造方法中的形参参数名和成员变量名相同。那么此时,当把形参赋值给成员变量时,成员变量前面就需要使用this,此处的this代表当前类的当前对象。3.3.2 在实例方法中使用在实例方法中使用THIS除了构造方法中可以使用this之外,在实例方法中也可以使用this,代表正在调用当前方法的对象。3.4 包包 3.4.1 包的概念 3.4.2 import语句 3.4.3 访问控制符 3.4.1 包的概念包的概念“包机制”就是通过不同的包名为类提供多重的命名空间,有了包之后,“包名+类名”才是类的完整名字,或者叫做全类名。由于域名的唯一性,“域名倒置”的包名也具有唯一性,“包名+类名”定义的全类名也就具有了唯一性,这就使得任何的Java类的全称都是唯一的,这就避免了类名重复的冲突。命名包的关键是package,示例代码如下:1 package com.a;2 public class Student 3 3.4.2 IMPORT语句语句在引入了包的概念之后,如果想在一个类中使用另一个类,就必须导入另一个类所在的包。导包需要使用import关键字。包分为自定义的包和系统自带的包。3.4.3 访问控制符访问控制符访问控制符是一组限定类、属性或方法是否可以被程序里的其他部分访问和调用的修饰符。Java语言中的访问控制符分为两类:一类是用来修饰类的,一类是用来修饰成员变量和成员方法的。3.4.3 访问控制符访问控制符修饰类的访问控制符有两种:公共的public和缺省的default。如果定义类的同时在class前面加上了public,则这个类的访问权限就是公共的,即此类可以被所有类访问到。如果定义类的同时class前面什么都不写,class前面默认添加default访问权限修饰符,注意,default不能显示地写出来,被default修饰的类只能被和自己在同一个包中的类访问。3.4.3 访问控制符访问控制符修饰成员变量和成员方法的访问控制符有4种,按照访问权限范围从小到大排列,分别是:私有的(private)、缺省的(default)、受保护的(protected)、公共的(public)。用private修饰的成员称为私有成员,一个类的私有成员只能在这个类的内部访问,其他的类无法访问这个类的私有成员。没有访问权限控制符修饰的成员称为缺省成员,一个类的缺省成员除了可以在这个类的内部访问之外,还可以被同一个包中的其他类访问。用protected修饰的成员称为受保护成员,一个类的受保护成员除了可以在这个类的内部访问,可以被同一个包中的其他类访问之外,还可以被这个类的子类访问。用public修饰的成员称为公共成员,一个类的公共成员没有访问限制,可以被任意类访问。3.5 本章小结本章小结3.1节详细讲解了类中变量的分类;3.2节详细讲解了类中方法的分类;this关键字也是经常使用的,代表当前类的当前对象;为了避免类重名的冲突,引入了包机制;为了限制类与类之间的引用,引入了访问控制符的概念。第四章 面向对象程序设计(上)面向对象程序设计(上)本章学习要点理解继承的概念;掌握继承中构造方法的调用顺序;理解方法重写的概念;理解上转型的概念;理解多态的概念;理解抽象类和接口的区别;掌握抽象方法的写法;掌握final关键字修饰的变量、方法和类的特点;理解内部类的概念;掌握匿名内部类的使用;掌握上转型对象的特点。4.1 类的继承类的继承 4.1.1“子类”和“父类”4.1.2 继承中构造方法的调用 4.1.3 继承中成员变量的隐藏 4.1.4 继承中成员方法的重写 4.1.5 继承中的上转型 4.1.6 继承中的多态 4.1.1“子类子类”和和“父类父类”class A extends B,其中A为子类,B为父类或者超类或者基类继承就是为了避免多个类间重复定义共同的属性和行为。子类可以继承父类的一切非私有的成员,构造方法除外。子类除了继承父类的非私有成员外,还可以有自己的什么呢?可以有不同于父类的属性和行为。4.1.1“子类子类”和和“父类父类”Java中类的继承是“单继承”,即只允许一个类直接继承另一个类,也就是extends关键字后面只能有一个类名。例如:class Student extends Person,Person1,Person2会导致编译错误。尽管一个类只能有一个直接的父类,但是它可以有多个间接的父类。例如:Student 类继承 Person 类,Person 类继承 Person1 类,Person1 类继承 Person2 类,那么 Person1 和 Person2 类是 Student 类的间接父类。4.1.2 继承中构造方法的调用继承中构造方法的调用子类可以继承父类中的非私有成员,也就是不能继承父类中的私有成员,同时,子类也不能继承父类中的构造方法。子类既然不能继承父类的构造方法,那么子类是如何调用父类的构造方法呢?就是通过“super();”这条语句,而且这条语句可以省略。但是如果把“super();”这条语句写出来,它一定要在第一条的位置,否则会编译出错。“super();”这条语句的作用就是调用父类中无参数的构造方法,所以当父类中没有无参构造时,子类中的构造方法中第一条语句必须显示地用super调用父类中有参数的构造方法,否则编译会出错。4.1.3 继承中成员变量的隐藏继承中成员变量的隐藏如果子类继承于某个父类,当子类中声明的成员变量和父类中声明的成员变量重名时,子类就隐藏了继承到的成员变量。那么,子类如何操作父类中被隐藏的成员变量呢?有两种方法:第一,在子类中使用super关键字调用父类中被子类隐藏的成员变量。第二,子类通过调用从父类继承的方法来操作隐藏的成员变量。Cat类中的第5行和第9行代码,通过super.来调用父类Animal中被隐藏的成员变量name。4.1.4 继承中成员方法的重写继承中成员方法的重写在子类中如果创建了一个方法与父类中的某个方法具有相同的名称、相同的返回值类型、相同的参数列表,只是方法体中的实现不同,以实现不同于父类的功能。这种方式被称为方法重写,又称为方法覆盖。在重写方法时,需要遵循以下规则:1.参数列表必须完全与被重写的方法参数列表相同,否则不能称其为重写。2.返回的类型必须与被重写的方法的返回类型相同,否则不能称其为重写。3.访问修饰符的限制一定要不小于被重写方法的访问修饰符,否则不能称其为重写。4.重写方法一定不能抛出新的检査异常或者比被重写方法声明更加宽泛的检査型异常。4.1.5 继承中的上转型继承中的上转型对象的类型转换往往发生在具有继承关系的父类和子类之间,向上类型转换是将子类对象转为父类对象。如果A是B的父类,当把子类对象赋值给父类对象的引用时,称父类的引用是子类对象的上转型对象。例如:A a;a=new B();或者:A a=new B();其中new B()是子类B的一个对象,而a为父类A的一个引用变量,a=new B()这条语句使得父类的引用a指向了子类对象new B(),此时a就叫做new B()的上转型对象。4.1.5 继承中的上转型继承中的上转型上转型对象有三个特点:1.当子类重写了一个方法后,上转型对象调用方法时,调用的必须是经过重写后的方法。2.当子类继承或隐藏了某个成员变量或方法,此时上转型对象可以访问。3.上转型对象不能操作子类新增的成员变量,也不能操作子类新增的方法。在上转型的三个特点中,最常用的就是第1条。4.1.6 继承中的多态继承中的多态Java实现多态有3个必要条件:继承、重写和向上转型。4.2 抽象类抽象类4.2.1 抽象方法4.2.2 抽象类4.2.1 抽象方法抽象方法用abstract修饰的方法称为抽象方法,抽象方法一般位于父类中,而且要被子类继承。声明抽象方法的一般格式如下:方法修饰符 abstract 方法返回值类型 方法名(参数列表);抽象方法是在类中仅仅有声明部分,并没有实现方法体。构造方法、静态方法、私有方法不能被声明为抽象的方法。4.2.2 抽象类抽象类用关键字abstract修饰的类称为抽象类。抽象类的作用类似于“模板”,通常先给出属性或方法的格式,然后根据这些格式来派生出新的子类,再由其子类来创建对象。定义抽象类的一般格式如下:类修饰符 abstract class类名 声明成员变量 声明抽象方法/此处不能有方法体 定义一般方法/此处可以包含方法体 4.2.2 抽象类抽象类有关抽象类说明如下:1.抽象类只能声明对象,而不能创建具体对象即不能被实例化。2.在抽象类中,可以包含抽象方法,也可以包含非抽象方法,也可以不包含抽象方法。3.包含抽象方法的类一定是抽象类。4.如果一个类是某个抽象类的子类,那么该子类既可以抽象类,也可以是非抽象类。5.当抽象类的子类是非抽象类时,必须重写父类中所有的抽象方法。4.3 接口接口4.3.1 接口的定义4.3.2 接口的实现4.3.3 接口与抽象类4.3.4 接口的回调4.3.5 内部类4.3.6 匿名内部类4.3.1 接口的定义接口的定义接口的定义包括接口声明和接口体两部分。接口定义的格式如下:接口修饰符 interface 接口名称 extends父接口名 接口体4.3.1 接口的定义接口的定义对接口定义说明如下:1.接口中全部的数据都是常量,用public final修饰。其中final关键字可以修饰类中的成员变量、成员方法,甚至可以修饰类。用final修饰的成员变量是最终变量,即为常量。程序中的其他部分可以调用该变量,但不能修改该变量的值。用final修饰的成员方法是最终方法,该方法不能被子类重写,只能被调用。用final修饰的类是最终类,最终类不能被继承,即没有子类。2.全部的方法都是抽象方法,用public abstract修饰,通常修饰符是可以省略的。3.与关键字class类似,interface是声明接口的关键字。4.3.2 接口的实现接口的实现Java中类与类之间的关系叫“继承”,用extends关键字表示。Java中的类和接口之间的关系叫“实现”,即类实现接口,用implements关键字表示。Java中类继承是“单继承”,即一个类只能有一个直接父类,但是类实现接口却支持“多实现”,即一个类可以同时实现多个接口,这也是接口出现的真正意义。接口和接口之间的关系叫“继承”,一个接口可以继承多个接口,但是接口之间的“继承”关系,在实际开发项目中几乎用不到。所以,我们只来看类和接口之间的实现关系。4.3.2 接口的实现接口的实现接口中的方法都是抽象的,所以当一个类实现了某个接口时,就必须重写接口中所有的方法。定义实现接口类的一般格式如下:修饰符 class 类名 extends 父类名 implements 接口名列表 类的成员变量说明 类的构造方法定义 类的成员方法定义 接口方法定义/实现接口方法 4.3.2 接口的实现接口的实现一个类可以通过使用关键字implements实现一个或多个接口。当一个类实现了多个接口时,多个接口之间用逗号隔开。例如:class A implements Printable,Addable4.3.3 接口与抽象类接口与抽象类抽象方法可以存在于抽象类中,而接口中所有的方法都是抽象的,从这个角度说,接口是一种特殊的抽象类。接口和抽象类之间有什么不同呢?1.基本语法不同接口中所有的方法都是抽象的,即只有方法的定义,没有方法的实现。但是抽象类中可以包含抽象方法,也可以包含非抽象方法,即抽象类中既可以有方法的定义,也可以有方法的实现。4.3.3 接口与抽象类接口与抽象类2.实现类不同类和接口之间的关系是类实现接口,而且可以同时实现多个接口。类和类之间的关系叫继承,一个类只能继承一个类。3.设计思想不同“抽象”在面向对象思想中是一个很重要的概念。Java中实现抽象有两种方式:接口和抽象类。抽象类是对一组具有相同属性和方法的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和方法的逻辑上不相关的事物的一种抽象。因此抽象类表示的是“is a”关系,接口表示的是“like a”关系。在实际的开发中,对于接口和抽象类的选择,反映出设计人员看待问题的不同角度。4.3.4 接口的回调接口的回调在面向对象的设计思想中,所有的对象都是通过类来描绘的。但是反过来,并不是所有的类都是用来描绘对象的,如接口和抽象类。因为接口和抽象类没有构造方法,故不能用其来实例化对象。前面讲过“继承中的上转型”,即把子类对象赋值给父类的一个引用变量时,这个父类的引用变量就变成了这个子类对象的一个上转型对象。利用上转型对象可以实现“继承中的多态”。接口中也有上转型对象,即把接口的实现类对象赋值给接口的一个引用变量时,这个接口的

    注意事项

    本文(Java语言程序设计-PPT课件(全)全书教学教程完整版电子教案最全幻灯片.pptx)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开