版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象,目标,面向对象的基本概念。 类、成员变量、方法 访问修饰符 创建对象 对象中方法的调用 描述构造函数及方法重载 this的用法,类,类是对现实世界中具体事物的抽象描述,一般用符号表示。 类是具有共同属性和行为的对象的抽象。 类可以定义为数据和方法的集合。 数据为成员变量,用来保存状态。 方法为成员方法,是对类的状态的控制。,对象,对象具有特殊属性和行为方式的实体。 属性(状态)。 方法(行为方式)。,TelQQ;106159278,类与对象,类,对象,抽象,实例化,封装的实体=数据+方法,操作或行为,属性或状态,方法,数据或变量,类的定义,类的定义格式为
2、:,TelQQ;106159278,Public class Student private int num=0; Protected int age=-1; Public String name=null; Public Student(String name) =name; Public boolean study() boolean flag=false; System.out.println(“studying”); flag=true; return flag; ,成员变量对象属性,成员方法 对象行为或操作,成员变量,成员变量为类的基本
3、单位,用来保存对象的状态。 成员变量类型 基本数据类型-基本类型 引用数据类型-对象,成员变量定义, =; private int num = 5 ; public String name=“tom”;,构造方法,构造函数名称与类名称相同 构造函数没有返回类型 其任务是在创建对象时初始化其内部状态 若没有定义,系统默认有一个无参构造方法,若自己定义则默认构造方法自动消失。, (参数列表)实现体 public Student(int age)name=“tom; ,声明为public的类名必须和文件名相同 构造方法必须和类名相同 构造方法可以有多个,必须名字相同参数列表不同(参数类型不同,或者参
4、数个数不同) 构造方法不能有返回类型,若有则为普通方法 构造方法可以有访问修饰符修饰。,普通方法,方法必须有名称,参数列表,实现体 名称可以在遵循条件的情况下任意定义。 参数列表可以为空 实现体为一对大括号包含的逻辑代码块。里面为逻辑代码,可以为空。, (参数列表)实现体 参数类表写法:类型 名称,类型 名称,. public String getName(String sex,int age) String tmp=null; tmp=“tom”; return tmp; ,方法名称命名应该有意义 方法的返回类型可以简单类型、引用类型(类),也可以为空(void) 如果方法名称相同,则参数列
5、表不能相同。(参数类型不同,或者参数个数不同) 方法一定要实现体。可以没有逻辑代码。,访问修饰符,Public (公共的)在同一工程中均能访问 Default(默认权限)在同一包中可以访问 Private (私有的)只能在这个类的内部使用 Protected 保护访问控制,TelQQ;106159278,创建对象,=; 类名1、类名2必须相同。或者1为2的父类。 引用变量名称要符合命名规范 关键字:new 赋值号:= 结束标志:; class类型声明的变量不是数据本身,而是数据的引用(reference)。,成员变量调用,类中的调用 直接使用变量名,可以调用任意访
6、问权限的变量 同级调用 对象调用 通过 . 运算符 对象(引用变量).成员变量,方法的调用,类中的方法调用 直接使用方法的名字调用 调用方式: 方法名 调用时必须是同级调用 对象调用方法 通过 . 运算符 调用方式:对象(引用变量).方法名,对象调用高级 this,This表示调用该方法的那个对象,其使用和其他对象并没有不同。 在方法内部调用同一个类的另一个方法不需要指出this。只有当显式的需要返回改对象的时候才需要。返回当然使用的对象。 This是在类中函数调用同类中的其他函数时使用。对象是直接调用对象内部的函数。,静态数据static,静态数据是static所在类的所有对象共享的数据,不
7、因为对象的不同而不同 静态数据依赖于类而存在,在有对象之前 使用静态数据不需要提前拥有对象,使用类名即可调用 注意不能在静态方法中使用非静态数据,反之是可以的,对象的内存分配,原始类型的声明的变量分配存储器空间 默认为基本值。 非原始类型的声明只分配变量的存储空间,不分配对象存储器空间 默认为null。 声明的变量不是数据本身, 而是数据的引用(或指针) 当任何原始类型(如boolean, byte, short,char,int,long,float或double类型) 的变量被声明时,作为上述操作的一部分,存储器空间也同时被分配。 使用非原始类型(如String或class)的变量的声明不
8、为对象分配存储器空间。 class类型声明的变量不是数据本身,而是数据的引用(reference)。,在你可以使用对象变量之前,实际存储器必须被分配。这个工作是通过使用关键字new来实现的。如下所示: MyDate myBirth; myBirth = new MyDate (); 第一个语句(声明)仅为引用分配了足够的空间 第二个语句则通过调用对象为构成Date的三个整数分配了空间。 对象的赋值使变量myBirth重新正确地引用新的对象。这两个操作被完成后,MyDate对象的内容则可通过myBirth进行访问。,MyDate today; today today = new MyDate()
9、;,null,区分两种String,String str=“abc”; String str_=new String(“def”); 上述第一种定义一个String常量,此常量只保存一个,可通过=比较;第二种生成一个普通的String对象,new几次便生成几个内容为”def”的String对象,通过equals比较内容,课后练习,设计以下类 1. 学生类(Student) 属性:名字、性别、年龄 方法功能:获得名字、学习(无返回值)、设置年龄。 2. 教室类(Class_Student) 属性:名字、容纳的人数、学生 构造方法的参数:名字、容纳人数 方法功能:获得学生。获得容纳人数 3. 电脑类(Computer) 属性:key、screen、mouse、 time(购买时间) 方法功能:获得三个属性。设置三个属性的值,4设计一个钱包purse,可以对里面的成员变量int money 进行操作:取钱、存钱。 5 设计打印机类。该类具有以下性质 包含方法print; 当print(5)时,打印从1 到 5的所有数字; 当print(2,5)时,打印从2 到5的所有数字; 当print(2,10,2)时,打印从2到10的所有数字,步长为2,附加题,.用函数测试 交换int型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年经典诵读测试题答案
- 公司食品监督制度
- 医疗综合监督制度
- 保障接待全过程监督制度
- 医院生活垃圾监督制度
- 嘎查村干部监督制度
- 医院内部监督制度
- 医院资产管理监督制度
- 会计毕业设计监督制度
- 1 x政府权力运行监督制度
- 2025年华电校招要笔试及答案
- 南瑞集团在线测评试题
- 高级会所运营管理方案与策略
- 社保局内控管理规范制度
- 7.3粤港澳大湾区的内外联系 课件 2025-2026学年湘教版地理八年级下册
- 2026年陕西铁路工程职业技术学院单招职业技能测试题库及参考答案详解一套
- 人工智能通识导论 课件 王万良 第1-9章 人工智能概论-连接主义:人工神经网络
- 安全工程毕业论文
- 原发性骨髓纤维化诊断与治疗中国指南(2025年版)
- T∕GDRX 4004-2025 送气工行为规范
- 2025年房地产企业收入核算培训
评论
0/150
提交评论