Java语言程序设计 第二章.ppt

上传人:max****ui 文档编号:6375008 上传时间:2020-02-24 格式:PPT 页数:36 大小:376.81KB
返回 下载 相关 举报
Java语言程序设计 第二章.ppt_第1页
第1页 / 共36页
Java语言程序设计 第二章.ppt_第2页
第2页 / 共36页
Java语言程序设计 第二章.ppt_第3页
第3页 / 共36页
点击查看更多>>
资源描述
1 Java面向对象程序设计 第2章Java程序语言基础 2 本章主要内容 熟悉Java程序的组织形式理解类 对象与成员的概念掌握对象的创建与引用熟悉访问修饰符和方法修饰符的使用掌握Java支持的数据类型与操作符 3 Java程序的组织形式 基本要素保留字 也叫关键字 有特定意义和用途 不能随意使用 class interface void int double protected public private static final abstract extends implements if for while switch等 标识符 以字母 下划线或美元符 开头 由字母 数字 下划线或美元符 组成 区分大小写 可用作变量名 方法名 接口名 类名等 注意 尽量使用有意义的英文单词进行命名 并遵守相应命名规范 演示标识符 变量名和方法名的命名规范 第一个单词小写 后面单词首字母大写 4 Java程序的组织形式 基本要素 续 单行注释System out println Hello Welcome 行末注释多行注释 publicvoidrun 文档注释可以使用javadoc工具生成HTMLAPI文档 方法的功能说明 param参数 throws异常 演示生成API文档 5 Java程序的组织形式 程序结构以 类 为基础 定义一个类时要使用 class 关键字 一个源文件中可包含多个类 但只能有一个是公共类 并且该公共类的名称要与文件名同名 演示编译含有多个类的源文件 例如 源程序A java文件中含有如下代码 publicclassA classB classC 编译后 生成3个字节码文件 A class B class C class 类名的命名规范 首字母大写 6 Java程序的组织形式 包的概念包允许将类组合成较小的单元 类似文件夹 包的作用有助于避免命名冲突 在使用类时 类的名称很难决定 有时在命名时不得以需要与其他类名同名 包机制能够在一定程度上设置其内部的类 属性和方法的对外可见度 包的创建 package包名 包的导入 import包名 类名 演示创建与导入包 注意包名的命名规范 全部小写 域名定义 演示环境变量classpath 7 类与对象 万事万物皆对象 面向对象的编程 OOP 思想实质是使用计算机语言实现对事物的描述 尽可能反映出现实世界事物的本来面目 类是对一类的事物描述 是抽象的 概念上的定义 对象是实际存在的该类事物的每个个体 也称实例 程序一般是依赖创建类的实例来驱动运行的 8 类成员 类定义两方面内容 类中封装的数据 叫做属性或者成员变量 类中封装的操作数据的行为 叫做方法或者成员方法 在实际问题中 对实体类的抽象是最关键的一步 它决定了该系统是否能真实反映实际业务活动 9 类成员 例2 3 创建一个计数器类 封装计数数据及其各种操作方法 publicclassAccumulator privateintdata private表示封装data属性 防止外界修改publicvoidadd 计数器计数data publicvoidreset 计数器清0data 0 publicintgetData 返回计数器结果returndata pubicstaticvoidmain String args Accumulatoracc newAccumulator acc reset acc add acc add System out println acc getData 10 信息的封装 封装是对对象的一种保护机制 使得它的属性或方法不被外部的程序直接访问 直接操作类内部定义的属性 会导致数据的错误 混乱或安全性问题 例如 publicclassStudent publicintage publicstaticvoidmain String args Studentstu newStudent stu age 1000 不合理的设置 11 信息的封装 通过将数据封装 声明为私有的 private 再提供一个或多个公开的 public 方法实现对该属性的操作 以实现下述目的 隐藏一个类的实现细节 防止对封装数据的未经授权的访问 使用者只能通过事先定制好的方法来访问数据 可以方便地加入控制逻辑 限制对属性的不合理操作 有利于保证数据的完整性 便于修改 增强代码的可维护性 12 信息的封装 publicclassStudent privateintage publicintgetAge returnage publicvoidsetAge intvAge age vAge publicvoidsetAge intvAge if vAge 200 vAge 0 System out println 请输入正确的年龄 else age vAge 13 对象的初始化与构造方法 构造方法是类中特殊的方法 该方法的作用是在对象实例化过程中 帮助完成对象的初始化工作 例如 MyClassmc newMyClass new关键字表示创建对象 同时调用构造方法MyClass 构造方法是在类中定义的 并在对象被创建时所调用的方法 该方法的名称与类名相同 不需要指定返回值 也不需要使用return返回 14 对象的初始化与构造方法 例2 9 使用new关键字实例化对象 publicclassMyClass privateinti 100 publicvoidshow System out println i publicstaticvoidmain String args MyClassmc newMyClass mc show publicclassMyClass 编译器自动提供的默认的无参构造方法MyClass 15 无参与有参构造方法 例2 10 调用无参与有参的构造方法 publicclassConstructor Constructor System out println 无参构造方法被调用 Constructor intn System out println int参数的构造方法被调用 Constructor Stringmessage System out println String参数的构造方法被调用 publicstaticvoidmain String args ConstructorParacp1 newConstructorPara ConstructorParacp2 newConstructorPara 12 ConstructorParacp3 newConstructorPara Hello 16 方法重载 发生在同一个类中方法名称相同参数列表不同返回类型可以相同或不同构造方法或成员方法均可发生重载 例2 4 17 引用与对象 MyClassmc newMyClass 这条语句实际上完成了三件事情 1 声明了一个引用mc 该引用的类型为MyClass 将只能引用MyClass以及其子类的对象 2 利用MyClass 构造方法创建了一个MyClass对象 3 把创建的对象赋给mc引用 mc this i 0 x1001 null 0 x1001 this show 栈内存 堆内存 18 引用与对象 this关键字 例2 14 不同对象对引用的赋值 publicclassReference privateStringname publicReference Stringn name n publicvoidshowName System out println name publicstaticvoidmain String args Referencer1 newReference r1 Referencer2 newReference r2 r1 showName r1 r2 r1 showName publicReference Stringname name name this name name 19 引用相等与对象相等的判断 例2 16 String对象相等的判断publicclassStringEquals publicstaticvoidmain String args Strings1 Helloworld Strings2 Helloworld Strings3 newString Helloworld System out println s1 s2 System out println s1 s3 System out println s1 equals s3 20 访问修饰符 访问修饰符的作用是说明被声明的内容 类 属性 方法 的访问权限 通过访问修饰符把类中将被其他类调用的内容开放出来 而把不希望别人调用的内容隐藏起来 4种访问修饰符 public private protected 无修饰符 21 访问修饰符 演示访问修饰符 22 方法修饰符 方法修饰符为方法设置访问权限 包括 staticfinalabstract 23 方法修饰符 static 关键字static可以用于修饰变量 方法 代码块 使用static修饰的成员变量和方法 称为静态成员 也称为类成员 静态成员存储于类的存储区 属于整个类 不属于一个具体的类对象 被所有该类的对象共享 因此在不同的类对象中访问静态成员 访问的是同一个 成员声明为static后 无需创建该类的任何对象 直接通过类名称来调用就可以访问 演示static修饰符 24 方法修饰符 static 例2 7 用static修饰变量 方法 代码块的综合应用 publicclassStaticSample staticintx 3 staticinty staticvoiddisplay System out println x x System out println y y static System out println staticblock y x 2 pubicstaticvoidmain String args StaticSample display 25 方法修饰符 static 例2 11 static成员变量的初始化 classClassStatic publicstaticinti staticInitMethod publicstaticintstaticInitMethod System out println static成员变量被初始化 return12 pubicstaticvoidmain String args System out println 访问static成员变量i inta ClassStatic i System out println 创建对象 ClassStaticsi newClassStatic 26 方法修饰符 final 用final修饰的类不能被继承 用final修饰的变量 值不能被修改 即为常量 用final修饰的方法不能被重写 如果对象已申明为final 对该对象的引用则不能更改 但它的属性值可以更改 常量的命名规范 所有字母均大写 27 方法修饰符 final 例2 8 用final修饰常量PI 实现计算圆的面积 publicclassCircle privatefinaldoublePI 3 14 privatedoubleradius publicvoidsetRadius doubleradius this radius radius publicdoublearea returnPI this radius this radius 28 基本数据类型 一个变量的数据类型决定了变量所能容纳的数值和操作符 Java是一种强类型语言 意味着每一个变量都有一种类型且每一种类型都是经过严格定义的 C与Java基本数据类型的对比 29 基本数据类型 演示基本数据类型 30 数据类型转换 不同类型的数据进行混合运算时 首先需要转换为同一类型然后运算 自动类型转换 也称放大转换 条件 两种类型兼容 目标类型大于源类型 布尔型与其他类型不兼容 强制类型转换 也称缩小转换 条件 源类型大于其目标类型 如float值赋给int类型变量值 此时需要显式类型转换 即doubled 12 1inti int d 演示数据类型转换 31 包装类 为了能将基本类型视为对象来处理 并能连接相关的方法 Java为每个基本数据类型都提供了包装类 java lang包中提供了每个基本数据类型对应的包装类 演示包装类JDK1 5新特性 32 包装类 例2 18 实现基本数据类型和包装类之间的转换 publicclassConvert publicstaticvoidmain String args intmyInt 12 IntegermyInteger newInteger myInt System out println myInteger intValue 33 操作符 演示操作符 34 操作符优先级 例2 19 在复杂运算中 体现操作符的运算优先级 publicclassOperatorTest publicstaticvoidmain String args inta 1 b 2 c 3 booleanresult result a 1 35 变量作用域 变量可以在代码块中声明 代码块用来定义作用域 代码块以左大括号开始 以右大括号结束 classScopeVar publicstaticvoidmain String args intnum 10 if num 10 intnum1 num num System out println num和num1的值为 num num1 num1 10 System out println num的值为 num 错误 num1未知 num在内层作用域中可用 36 本节小结 Java程序结构以 类 为单位 包 机制能够避免命名冲突 以及保护类内部成员 类包括成员属性和成员方法的两方面描述 通过封装实现对类内部数据的保护 对象初始化与构造方法的使用 方法重载的概念 对象及引用的概念 访问修饰符的作用 static关键字修饰静态成员 可以直接用类名称调用 且只能调用其它静态成员 final关键字用来表示常量 Java数据类型与C语言的区别 数据类型转换及包装类的使用 Java操作符的使用 变量作用域的概念
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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