第3章类与对象-1(2008).ppt_第1页
第3章类与对象-1(2008).ppt_第2页
第3章类与对象-1(2008).ppt_第3页
第3章类与对象-1(2008).ppt_第4页
第3章类与对象-1(2008).ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、,本节课要求掌握: 1、java中类的基本概念 2、定义类、方法、属性 3、类与对象、构造方法 4、对象的使用(引用,属性、方法的使用,this引用) 5、访问控制符(private,protect,public,默认访问权限),Java中的类,几个概念 类:同种对象的集合与抽象 (是对一组具有相同属性和行为的对象的抽象),是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作(成员变量,方法) 系统类库中已定义好的类:是系统提供 的已实现的标准类的集合,是Java的API,它可帮助开发者方便、快捷地开发Java程序。 用户自定义的类 针对特定问题 子类、父类,Java中的类,J

2、ava中的类结构 基类:所有Java的类都派生自Object Java的类可组织在包(package)中 Java提供的标准类库分布在一系列的包中,如java.lang,java.util,等 (参见 P.117) 编程的过程就是继承基类或标准类而创建、定义特殊子类的过程,在程序中定义你抽象出的类,新类必须在已有类的基础上构造。 在已有类的基础上构造新类的过程称为派生。 派生出的新类称为已有类的子类。已有类称为超类(父类)。 子类继承父类的属性和方法。 当没有显式指定父类时,父类隐含为java.lang包中的Object类。,Java中类的声明,类说明语法: 类修饰符 class 类名 ext

3、ends 父类名 implements 接口名 成员变量定义; 方法定义; ,类体,汽车类Car,public class Car String model; public void printModel() System.out.println(“my model is “+model); ,Java中类的声明,类修饰符(Modifier): public:允许其他类(没有限制)访问本类,一个源文件仅可以有一个public类 缺省:可被当前包中的其他类访问 abstract:没有实例的抽象概念类,是它的所有子类的公共属性和公共方法的集合 final:不能再被扩展,不能有子类的类;易于安全 性

4、的实现,或用于创建固定功能的类 父类继承声明:extends 父类名 实现接口(interface):implements 接口名,Java中类的声明,例: public abstract class shape class rectangle extends shape final class roundrect extends rectangle 注意: final可以与abstract一起使用吗?,方法,方法:定义了类的动态属性,声明了类拥有的操作和功能。与其他语言中的函数和过程类似,Java中的方法也是用来组织完成某种操作的代码块。 方法定义的一般形式: 修饰符 返回值类型 方法名(参

5、数列表) 方法体 参数列表的一般形式: 参数类型 参数1,参数类型 参数2, 返回值类型一般需指定(构造函数除外),如果方法没有返回值,要使用void关键字。如果指定的是非void的返回值类型,则在方法中必须有return xxx;,方法,看看如下的方法的定义是否正确? boolean checkMinus (int i) if(i-1) return false; ,方法,改正后的方法: boolean checkMinus (int i) if(i-1) return false; return true; 错误原因:原错误方法没有考虑i=-1的情况下的return语句。,构造方法和对象的

6、创建,构造方法:用来完成创建的对象初始化工作,是Java中的一个特殊的方法。 创建的对象的状态,系统会给一个默认值,不一定合适。 用构造方法完成新创建的对象初始化 构造方法的特点:(满足以下条件,编译器认为是构造方法) 1、方法名与类名相同; 2、没有返回值类型,带构造方法的汽车类Car,public class Car String model; public void printModel() System.out.println(“my model is “+model); public Car() public Car(String newModel) model=newModel;

7、,构造方法,构造方法的其他特点: 不能显式调用,只能在创建对象时执行一次。,对象的创建与构造方法,对象创建的形式: 类名 对象名=new 构造方法名(参数列表) 注意:如果一个类没有显式的定义构造方法,则系统为他创建一个默认的无参数的构造方法。如P36页的class Car具有P38的形式。 创建类Car的对象: Car myCar=new Car();,对象的创建与构造方法,如果一个类有一个或多个有参数的构造方法而没有显示定义无参数的构造方法,那么就不能用默认的无参数的构造方法创建对象。 class Car String model; public Car(String m)model=m;

8、/ void printModel() System.out.println(The model of this car is + this.model); Car myCar=new Car(“奔驰”);/正确 Car myCar=new Car();/错误,必须在类中显示定义无参数的构造方法,对象的使用,引用 什么是引用?当我们用new创建了一个对象时,系统返回一个指向新创建对象的地址值。这个地址值就是引用(或叫对象名) 声明一个引用变量并未赋初值,该引用为null,表示该引用并未指向任何对象: Car myCar;,class MyDate int day; int month; int

9、 year; ,对象的使用-引用,MyDate d1 = new MyDate() ;,d1.day = 28 ; d1.month = 12; d1.year = 70 ;,地址:0 x01abcdef,对象的使用-引用,MyDate d1 = new MyDate() ;,d1.day = 28 ; d1.month = 12; d1.year = 70 ;,对象的使用访问对象中的成员变量和方法,用.运算符,即对象名.成员变量(或成员方法) Car myCar =new Car();/创建类Car的一个新的对象 System.out.println(myCar.model);/访问对象的成

10、员变量 myCar.printModel();/访问对象中的方法,this引用,this表示的是当前对象本身。实际上this代表了当前对象的一个引用 用this来访问当前对象的成员变量或方法 this.成员变量名 this.方法名 void printModel() System.out.println(The model of this car is + this.model);,this引用,this引用解决某些局部变量,如方法的参数变量和类的成员变量重名的问题 class Car String model; public Car(String model)this.model= mode

11、l;/ void printModel() System.out.println(The model of this car is + this.model); public class Test Car public static void main(String args) Car myCar1=new Car(“benchi”); myCar1.printModel(); ,练习,1、编写自行车类Bike,具有颜色color、型type号、价格price属性;具有介绍自己的方法(produce) ,该方法作用为向屏幕输出自己的颜色、型号、价格. 2、生成两辆自行车,分别为: 红色、轻便2

12、6、300元的自行车 黑色、越野28、1200元的自行车 3、分别让两辆自行车介绍自己,该练习目的是让同学们学会: 根据实际问题,创建类 由类创建对象 使用对象,读取、写入属性值的方法,一般在编程时将属性定义为private,如果需要让其他对象使用该属性,可以定义一个public型的读取或设置该私有属性的方法 public 返回值类型 getXxx()方法 Xxx代表属性名,不要在程序中写“Xxx” void setXxx(参数)方法 Xxx代表属性名 参数 代表要赋予属性的新值,public class Person private String name,sex; private int

13、age; public Person(String name,int age,String sex) =name; this.age=age; this.sex=sex; public String getName() return name; public void setName(String name)=name; public int getAge() return age; public void setAge(int age) this.age=age; public String getSex() return sex; ,3.3 访问控制符,类中成员的访问权限 public:修饰的类成员可以被任何类访问,通常用来声明一个类的对外的方法,不推荐在一个类中的成员变量前使用 protected:修饰的类成员可以被这个类自身、该类的子类和同一个包中的其他类访问,其他范围的类不能访问这些protected修饰的类成员 private:修饰的类成员只能被该类本身访问,通常用来隐藏类的一些属性和方法 默认权限:未加上述3种类型访问控制符的成员拥有默认的访问权

温馨提示

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

评论

0/150

提交评论