版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Java开发综合实战面向对象编程基础计算机专业·任务驱动应用型教材01类与对象类与对象面向对象简介面向对象是一种符合人类思维习惯的编程思想,是一种数据抽象和信息隐藏的技术。在程序开发中引入的面向对象编程(ObjectOrientedProgramming,OOP)的概念,其实质就是以对象为中心,以信息为驱动,对现实世界中的对象进行建模操作。由于它使软件的开发更加简单,又能降低软件的复杂度,提高软件的生产效率,因此得到了广泛应用。类与对象面向对象简介1封装封装是面向对象的核心思想,它有两层含义:一层含义是指把描述对象属性的变量及实现对象功能的方法看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立程序单位(即对象)中;另一层含义是指"信息隐藏",即为封装在一个整体内的变量及方法设置不同级别的访问权限。一些对象的属性及行为允许外界用户知道或使用,但不允许更改。类与对象面向对象简介2继承继承主要指类与类之间的关系,首先拥有反映事物一般特性的类,然后在其基础上派生出能反映特殊事物的类。通过继承,可以更高效地对原有类的功能进行扩展。继承不仅增强了代码的复用性,提高了开发效率,还为程序的修改补充提供了便利。类与对象面向对象简介3多态多态是指把子类型的对象主观地看作其父类型的对象,那么父类型就可以包含很多种类型,对同一种行为能够表现出很多种不同的形式。多态性可提高程序的抽象程度和简洁程度,有助于程序开发人员之间进行协作。类与对象类的声明与定义1.声明类类是Java程序的基本要素,使用关键字class声明,具体语法格式如下:类与对象类的声明与定义2.定义成员变量定义成员变量的方法与定义变量类似,不同的是,成员变量前面可以加上修饰符,具体语法格式如下:类与对象类的声明与定义3.定义成员方法定义成员方法的语法格式如下:类与对象构造方法在类中除了可以定义成员方法,还可以定义一个特殊的方法构造方法。构造方法是一个与类同名的方法,在使用关键字new实例化类对象时默认被调用,用于初始化成员变量。类与对象构造方法构造方法具有以下特点:●构造方法名与所在类的类名相同;●构造方法没有返回值,不能指定返回值类型,也不能定义为void;●构造方法用于初始化无static修饰的成员变量。类与对象对象的创建及使用在Java中,实例化类对象的语法格式如下:类名对象名一new构造方法([参数列表]实例化匿名对象的语法格式如下:new构造方法(【参数列表】);类与对象对象的创建及使用在创建有名对象后,就可以通过“对象名”调用类中的成员,语法格式如下:类与对象调用本类结构变量都有作用域,只能在其作用域范围内被使用。在类体中,成员变量的作用域为整个类体。成员方法的形参和方法体内声明的变量为局部变量,其作用域为方法体。类与对象调用本类结构123当前对象:this。当前类中的属性:this.属性。当前类中的成员方法:this.方法名()。4当前类中的其他构造方法:this()。类与对象定义全局属性和方法在Java中,使用关键字static可以声明所有对象都可以使用的全局属性和全局方法。使用关键字static声明的变量或方法称为静态变量或静态方法,统称为静态成员。相对地,无static修饰的类成员则称为动态成员。类与对象定义全局属性和方法调用静态成员的语法格式如下:类名.静态变量名类名.静态方法名(参数列表)类与对象定义全局属性和方法静态方法不能直接调用动态成员,必须先实例化类对象,再由对象来引用动态成员。例如,类的main()方法就是一个静态方法,如果在main()方法中直接访问类的一个成员变量,就会报错,提示不能在静态方法中访问非静态的成员变量(field),如图2-3所示。类与对象定义全局属性和方法02使用数组使用数组创建数组1一维数组一维数组实质上是一组具有相同数据类型的数据的有序集合,整个集合使用数组名称作为标识符,其中的每一个数据称为一个数组元素,按照排列顺序,使用一个唯一的索引(从0开始)进行标识。使用数组创建数组一维数组有以下两种声明方式:元素数据类型数组名称【】;元素数据类型【】数组名称;其中,【1表明声明的变量是一个数组,门的数量代表了数组的维度,一个】表示一维数组。使用数组创建数组2二维数组二维数组可以看作以元素为数组的数组,即数组中的每个元素都是一个数组。二维数组的声明方式与一维数组类似,也有两种声明方式,不同的是,二维数组包含两个囗。使用数组创建数组具体语法格式如下:元素数据类型数组名称【】【】;元素数据类型【】【】数组名称;第2种格式是Java惯用的格式。使用数组遍历数组如果数组中存储的数据很多,利用数组元素中有规律的索引,并配合使用循环结构,可以很方便地获取数组中的每个元素,即遍历数组。一维数组通常使用for循环实现通历,二维数组则可以利用双层低套的tor循环通历所有的行标和列标,从而访问数组中的每个元素。使用数组遍历数组为方便遍历数组和集合,JDK1.5之后的版本提供了foreach循环。该循环是for循环的特殊简化版本,语法格式如下:使用数组遍历数组其中,元素变量表示数组或集合中的每个元素。每执行一次循环语句,循环变量就读取数组或集合中的一个元素。foreach循环和普通循环不同的是,它无须循环条件,无须循环迭代语句,自动迭代数组中的每个元素,当每个元素都被迭代一次之后,foreach循环自动结束。使用数组使用Arrays工具类1fill()该方法可将指定的int类型的值分配给int类型数组的每个元素。语法格式如下:Arrays.fill(数组,值)其中,第1个参数是要进行元素分配的数组,第2个参数是要分配给数组中的所有元素的值。使用数组使用Arrays工具类2sort()该方法可将数值类型数组和字符数组中的元素按照元素值由小到大的顺序进行排列。语法格式如下:Arrays.sort(数组)使用数组使用Arrays工具类3toString()该方法可对数组进行遍历,将数组中的所有元素以一个字符串的形式返回。语法格式如下:Arrays.toString(数组)使用数组使用Arrays工具类4equals()该方法可用于比较两个相同类型的数组的值是否相同,返回布尔类型的逻辑值。语法格式如下:Arrays.equals(数组1,数组2)使用数组使用Arrays工具类5binarySearch()该方法可按照二分查找算法查找数组中是否包含指定的值,如果包含,则返回该值在数组中的索引;如果不包含,则返回负值。语法格式如下:Arrays.binarySearch(数组,值)使用数组使用Arrays工具类6copyOf()该方法可将指定的数组从索引为0的元素开始复制到给定长度的新数组中。如果给定的长度超过源数组长度,则用null进行填充。语法格式如下:Arrays.copyOf(源数组,新长度)使用数组使用Arrays工具类7copyOfRange()该方法可将源数组中指定下标范围内的元素复制到一个新数组中。语法格式如下:Arrays.copyOfRange(源数组,开始索引,结束索引)03处理字符串处理字符串创建String类的字符串String是Java中的文本数据类型,其本质是字符数组,可以包含若干个字符。字符串中的字符必须被包含在双引号中。字符串是常量,在创建之后不能更改字符串的值,但是可以通过使用其他变量重新赋值的方式进行更改。处理字符串创建String类的字符串创建String类的字符串有两种方式:一种是使用双引号赋值创建,另一种是使用关键字new创建。例如:处理字符串String类的常用操作1.连接字符串连接字符串是程序设计中常用的一种字符串操作,方法是使用“+”运算符连接字符串与其他类型的数据,生成一个String对象。如果某个字符串较长,在一行中输入不便于阅读,则可以使用"+"运算符将字符串分割为多行。处理字符串String类的常用操作2.获取字符串内容(1)获取字符串的长度。(2)获取字符串中指定位置的字符。(3)获取指定字符或子串在字符串中首次出现的位置。(4)提取子串。处理字符串String类的常用操作3.判断字符串(1)contains()方法。(2)startsWith()方法和endsWith()方法。(3)equals()方法。(4)equalsIgnoreCase()方法。处理字符串String类的常用操作4.转换字符串(1)转换字母大小写。(2)将其他类型转换为字符串。(3)将字符串转换为字符数组或字节数组。(4)将字符串转换为字符串数组。处理字符串String类的常用操作5.修改字符串内容(1)替换字符序列。(2)删除字符串两端的空格。使用trim()方法可以删除字符串首尾处的空格,语法格式如下:字符串名称.trim();处理字符串正则表达式正则表达式是一种用于模式匹配和替换的规则,是由普通字符(如字母A~Z)及特殊字符(又称为元字符)组成的字符串匹配的模式,常被用于判断语句中,用来检查一个字符串是否含有某种子串,或是否满足某种格式。处理字符串正则表达式正则表达式中常用的元字符如表2-2所示。处理字符串正则表达式处理字符串创建StringBuffer对象前面介绍的String对象的字符序列是不可被修改的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孕期手指发麻的健康宣教
- 《预算培训材料》课件
- 红痣的临床护理
- 《机械设计基础 》课件-第1章
- 李宁公司导购销售技巧培训课件
- 化学反应的方向课件
- 动量定理的应用课件
- JJF(陕) 104-2023 裂隙灯显微镜校准规范
- JJF(陕) 016-2019 呼吸器综合检测仪校准规范
- 《酒店对客服务培训》课件
- 标志设计智慧树知到期末考试答案章节答案2024年甘肃政法大学
- GB/T 18029.8-2024轮椅车第8部分:静态强度、冲击强度及疲劳强度的要求和测试方法
- 工程伦理学智慧树知到期末考试答案章节答案2024年广东工业大学
- 国际经济法智慧树知到期末考试答案章节答案2024年中南大学
- 肿瘤的预防与早诊早治
- 25题战略规划岗位常见面试问题含HR问题考察点及参考回答
- 电子课件-《液压传动与气动技术(第二版)》
- 部编初中历史八年级上册期末专题复习观点论述题
- 音乐与健康智慧树知到期末考试答案2024年
- 大型医疗设备效益分析
- 胰腺囊性肿瘤鉴别诊断
评论
0/150
提交评论