JAVA语言的类与对象1 课件

上传人:woxinch****an2018 文档编号:56990475 上传时间:2018-10-17 格式:PPT 页数:38 大小:144.50KB
返回 下载 相关 举报
JAVA语言的类与对象1 课件_第1页
第1页 / 共38页
JAVA语言的类与对象1 课件_第2页
第2页 / 共38页
JAVA语言的类与对象1 课件_第3页
第3页 / 共38页
JAVA语言的类与对象1 课件_第4页
第4页 / 共38页
JAVA语言的类与对象1 课件_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《JAVA语言的类与对象1 课件》由会员分享,可在线阅读,更多相关《JAVA语言的类与对象1 课件(38页珍藏版)》请在金锄头文库上搜索。

1、1,2,第五章 JAVA语言的类与对象,合肥学院计算机系 吴晓琴,3,5.1 类,类描述了具有相同状态(属性)和相同行为(方法)的一组对象。它抽象出一组对象的共性部分。 1 .Java语言中的类:类是java中的一种重要的复合数据类型,是组成java程序的基本要素。它定义了某一特定类型的所有对象的共同属性和行为。 一个类的实现包括两个部分:类声明和类体 1类声明: 类的定义格式: class Name /private attributes(定义类的状态或属性) /public constructor/(定义构造方法) /public methods;(定义类的行为或方法) 要点:类的定义只是

2、一种模型说明,并不是代表具体的东西(对象)。,4,2.类的定义实体包含属性(变量、数据等)和 方法(过程和函数)。属性-成员数据;方法-成员函数。,5,例4:定义学生类,class Student private String name;/学生姓名 private int age;/年龄 private int serialNumber;/学号 private String subject;/专业 private int remove;/班级 String faculty;/系 public void display ()void setage(int x) ,成员数据(属性),成员函数(方法

3、),6,5.2 类的实例创建,1对象:它是具有该类类型的一个特定的个体,是类的一个变量。 特点:具有特定的属性和行为,通过对象的成员变量来维护它的属性,通过对象的成员方法,来实现它的行为。 声明方式: 类名 对象名如: Watch myWatch;,7, 对象的实例化(分配出内存空间):对象名=new 类名();如: myWatch=new Watch(); 要点:可以将对象的声明与实例化合二为一(Java中的对象只有实例化后,系统才真正创建出它并为它分配出内存空间):Watch myWatch=new Watch(); /对象的声明与实例化合二为一 调用对象的成员:对象名.成员名;myWat

4、ch.showTime();,8, 消息:对象之间相互作用或通讯是依靠消息来实现的;组成:消息的目的对象;消息所传送到的行为;消息的行为产生时所需要的参数myWatch.setTime(10,30,00);,消息的行为产生时所需要的参数,消息的目的对象,消息所传送到的行为,9, 对象的生存期:创建,使用,删除三个阶段。 (1)创建对象:声明并实例化(为它分配内存空间)Watch myWatch=new Watch( );/声明和实例化合二为一要点:如定义出带参数的构造函数,也可以watch myWatch= new Watch(10,30,00);/实例化时并初始化 (2)使用对象:利用对象名

5、来操作访问其public型的成员函数或成员数据:myWatch.setTime(10,30,00);,10,要点:由于OOP的数据封装特性,成员数据一般都被隐藏,因而不推荐采用对象直接访问类中的成员数据来改变对象的状态,而是通过对象的public型的成员函数来访问对象的成员数据;利用对象不能访问类中的private成员(myWatch.Hour=10; /错误)。 如:myWatch.setTime(10,30,00);,11,(3)对象的删除(清除); A、当对象失除其作用域时,系统自动在后台清除这些对象; public void myFun() Watch myWatch=new Watc

6、h( ); /此时myWatch对象将被删除,寿命不可控。,12,B、用户也可强行清除某一对象(将它置为null 即可) public void myFun() Watch myWatch=new Watch( ); myWatch=null; /此时myWatch对象将被删除,寿命可控。 对象之间的相互关系:包含(内嵌)、继承、关联(引用)。,13,2Java语言中的类的一般定义方式一: class 类名 方式二: class 类名 extends 父类名 方式三: class 类名 extends 父类名 implenents 接口名 ,隐含地派生于Object类,指明父类名,指明接口名,

7、14,3构造函数 构造函数主要体现在下面几个方面构造函数名与类名同名构造函数是无任何返回值类型定义的public型成员函数。 class Rectangle public Rectangle() public Rectangle(int x,int y,int w,int h) ,15,作用:实现对象在实例化时的初始化(将其成员数据赋初值)。 Rectangle rectA=new Rectangle(); /对象在实例化时未初始化 Rectangle rectA=new Rectangle(10,10,200,200); /对象在实例化时初始化 构造函数不能被显式调用例: 例: 构造函数的可

8、能形式: 类中未定义出构造函数时,此时系统中会生成一个缺省的空的构造函数,对象在实例化时将不能初始化它; 重载形式(定义出多个同名的构造函数时),从而可以在对象实例化时以多种方式初始化它。,16,class Rectangle public Rectangle()public Rectangle(int x,int y,int w,int h) void fun() public static void main(String args) Rectangle(4,7,2,3);/错误 fun(); ,17,53 类的修饰符:public,abstract,final,缺省末指定共四种类的修饰符

9、 1 public 公有类: 编程特性:该类可以被本包中或其它包中类成员函数使用。 例: 编程要求:一个Java包中(源程序中)只允许定义出一个public型的类;并且此时源程序的文件名应与pbulic类的类名同名。 编程应用:一般可将Java Application 中的main()函数所在的类或Java Applet中的init()函数所在的类置为public类。,18,MyPublic.java HePublic.java package myPackage; package hePackage; import hePackage.*; import myPackage.*; publi

10、c class MyPublic publicclass HePublic public void MyFun() public void HeFun() HePublic obj=new HePublic(); MyPublic obj=new MyPublic();MyClassTwo two=new MyClassTwo(); HeClassTwo two=new HeClassTwo(); class MyClassTwo class HeClassTwo public void MyFunTwo() public void HeFunTwo() MyPublic obj=new My

11、Public(); HePublic obj=new HePublic();HePublic obj=new HePublic(); MyPublic obj=new MyPublic(); ,19,2abstract 抽象类(没有具体对象的概念类): 编程特性:包含有抽象函数(只有函数原型而没有具体函数体定义的成员函数)的类(它定义了所有子类的共同属性与方法集)。 编程要求: 它一般应是父类并且必须被继承和派生,在派生类中应重写抽象函数; 抽象类不能实例化其对象,而应采用其派生类来实例它(此时执行派生类中定义出的成员方法)。 抽象类中的成员不能为private成员(成员数据和成员方法) 例:

12、,20,abstract class Person public abstract OutObj eatFood(Food Obj); class Chinese extends Person public OutObj eatFood(Food Obj) class American extends Personpublic OutObj eatFood(Food Obj) ,21,编程时: Person mem=new Person(); /错误 Person men=new Chinese(); /正确 Person women=new American(); /正确 编程应用:抽象类主

13、要是为派生类提供功能实现的模型和要求。,22,3 final(定止类,终极类): 编程特性:该类不允许再被继承与派生;但其内的成员方法都有函数体定义编程要求:final不能与abstract组合在一起使用来说明一个类,否则会相互矛盾。,23,编程应用:如果一个类编写的已较丰富,或因为安全性考虑,不希望派生者再对它进行派生以覆盖其特定的成员函数的应用场合(固定的标准功能的类)。 4 缺省末指定的类 编程特性:该类只能被其所在的包中其它类使用。 class MyClass extends SuperClass 编程应用:不共享的类。,24,5.4类中的成员数据,1.成员数据(属性)定义的一般格式访

14、问控制 变量的种类 变量的数据类型 变量名; public static int val; 2.成员数据的访问控制选项:public ,private ,protected, private protected ,default(缺省末定义) public它可被所有形式的类访问(通过各级对象名或在本类和子类)中的成员中访问 protected:可以被这个类本身及它的子类(相同包或不同包中的子类)的成员访问;但通过对象来访问时,可以被相同包中的任何形式的类对象来访问,而不能被不同包中的任何形式类对象访问。 缺省末指明:可被这个类本身和同一包中的所用其它子类成员访问(但不同包中的子类成员不能访问它

15、,这是与protected的区别);通过对象来访问时,则只能在相同包中的以该类或它的子类对象来访问。 private:仅能本类的各个成员函数使用,不能被任何形式的类对象或子类成员使用。 , private protected:可以被类本身及它的子类(相同包或不同包中的子类)的成员访问;但同一包中非子类排除在外,使成员变量更具有明确继承关系的类,25,A 本包 不同包 public 本类成员 子类成员 子类成员 各级对象 各级对象protected 本类成员 子类成员 子类成员各级对象 缺省末指明 本类成员 不能以任何形式访问它 子类成员 (子类成员、各级对象)各级对象private 本类成员 不能以任何形式访问它,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号