Java面向对象编程基础_第1页
Java面向对象编程基础_第2页
Java面向对象编程基础_第3页
Java面向对象编程基础_第4页
Java面向对象编程基础_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

会计学1Java面向对象编程基础25.1面向对象的几个概念5.1.1对象、类与实体

对象的概念是面向对象技术的核心所在。以面向对象的观点看来,所有的面向对象的程序都是由对象来组成的,这些对象首先是自治、独立的,同时它们还可以互相通信、协调和配合,从而完成整个程序的任务和功能。⒈对象现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。⒉类

同种对象的集合与抽象。关系类是一种抽象的数据类型,是所有具有一定共性的对象的抽象。属于类的某一个对象则被称为类的一个实例,是类的一次实例化的结果。第1页/共20页35.1面向对象的几个概念面向对象技术的一个关键的设计思想就是要让计算机逻辑来模拟现实世界的物理存在。物理实体数据类型实体要解决问题相关数据和属性类对象面向对象工具实例化抽象第2页/共20页45.1面向对象的几个概念5.1.2对象的属性⒈状态属性(静态属性)主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。例:每一台电视机都有如下状态信息:种类、品牌、大小、颜色⒉行为属性(对象的操作)主要表述对象的动态属性,操作的作用是设置或改变对象的状态。对象的方法一方面把对象的内部变量包裹、封装、保护起来,使得只有对象自己的方法才能操作这些内部变量;另一方面,对象的方法还是对象与外部环境和其他对象交互通信的接口,对象的环境和其他对象可以通过这个接口来调用对象的方法,操纵对象的行为和改变对象的状态。例:每一台电视机都有开、关操作第3页/共20页55.1面向对象的几个概念⒊标志对象的名称,是一个对象区别于其他对象的标志。总结:对象的静态属性表示它所处状态。对象操作:用来改变对象的状态以达到特定的功能。对象最主要的特点是以数据为中心,它是一个集成了数据和其操作的独立、自治的逻辑单位。第4页/共20页65.2类5.2.1类的定义⒈类头定义格式[修饰符]class类名[extends父类名][implements接口名列表]例:classk05_1{ privatedoublelength; privatedoublewidth;}说明:⑴Java的修饰符,分为访问控制符和非访问控制符。 访问控制符:public、private、protected

非访问控制符:abstract、static、finalJava的主类定义时必须被修饰为public,当缺省此选项时,则定义的类为非公有的、非抽象、非最终的。第5页/共20页75.2类⑵class为Java的关键字,定义一个类时,必须用此关键字。类名为新定义的类的名称。⑶extends父类名,说明定义的类是一个已经存在的类的子类。在Java中,通过extends关键字来实现类之间的继承。⑷implements接口名列表,说明定义的类将要实现的接口,接口可以是一个,也可是多个。⑸类头定义的格式中,带方括号的选项为可选项。用户定义类时,根据类的性质有目的地进行选择。⒉Java类体的定义

Java的类体是由一对大括号括起来的成员方法和成员属性组成的。第6页/共20页85.2类5.2.2类的成员⒈类的成员属性(类的静态属性)——描述该类的内部信息声明类属性为简单变量的格式如下:[修饰符]变量类型变量名[=变量初值];声明类属性为对象的格式如下:[修饰符]类名对象名[=new类名(实参表)];例:Strings;Labelimport=newLabel(“请输入一个数:”);⒉类的成员方法(成员函数)——类所具有的功能和操作格式:[修饰符]返回值类型方法名称([参数表]){//方法体;}第7页/共20页95.2类例:classRectangle{ privatedoublelength; privatedoublewidth; voidsetDim(doublew,doublel) { width=w; length=l; } doublearea() { returnlength*width; }}publicclassk05_2{publicstaticvoidmain(String[]args){ r1=newRectangle(); r1.setDim(10.0,20.0); doublea1=r1.area(); System.out.println("长方形的面积为:"+a1);}}第8页/共20页105.2类5.2.3类的构造方法

创建类的对象时,利用new关键字和一个与类同名的方法来完成,这个方法就是构造方法。说明:⑴构造方法的名与类名相同。⑵构造方法没有返回值类型。⑶构造方法的主要作用是完成对类对象的初始化操作。⑷构造方法不能由编程人员显式地直接调用,在创建一个类的新对象的同时,系统会自动调用该类的构造方法为新对象初始化。⑸每一个类可以有零个或多个构造方法。当一个类定义多个构造方法时,称为构造方法的重载。

第9页/共20页115.2类例:classRectangle{ doublelength; doublewidth;Rectangle(doublew,doublel) { width=w; length=l; } doublearea() { returnlength*width; }}publicclassk05_3{publicstaticvoidmain(String[]args){Rectangler1=newRectangle(20,30),r2=newRectangle(30,40);

doublearea1,area2;area1=r1.area();area2=r2.area(); System.out.println("area1="+area1+",area2="+area2);}}第10页/共20页125.2类说明:每个类在没有定义构造方法时,都有一个默认的构造方法。这个默认的构造方法没有形式参数,也没有任何具体语句,不能完成任何操作,但在创建一个新对象时,如果没有用户自定义的构造方法,则使用此默认的构造方法对新对象进行初始化。可以创建自己的构造方法来创建实例对象,同时对实例对象进行初始化,即构造方法可以带参数,也可以重载。当一个类有自定义的构造方法时,类的默认的构造方法无效,不能再调用默认构造方法来创建对象,但程序中一定要用到默认的构造方法来实例化对象时,则必须在程序中显式地定义一下类默认的构造方法。定义的格式如下:

[修饰符]类名() {}

即没有形式参数,方法体为一对空的大括号。第11页/共20页135.3对象5.3.1对象与类的关系类是同种对象的抽象集合,是创建对象的模板。类定义了对象的属性和行为。对象是类的一次实例化的结果对象通常有下面几个生成过程:⑴对象的创建。⑵对象的使用。⑶对象的清除。第12页/共20页145.3对象5.3.2对象的创建⒈声明一个类的对象和为对象分配内存空间分开来定义。格式:

classname1c1;c1=newclassname1();⒉声明一个类的对象和分配内存空间合为一条语句。格式:classname2c2=newclassname2();⒊同时声明一个类的两个对象,对其中一个对象用new分配内存空间,而另一个则是第一个对象的备份。格式:classname3c3;calssname3c4;c3=newclassname3();c4=c3;例5.5第13页/共20页155.3对象5.3.3对象的引用对对象的各个成员进行访问格式: 对象名.变量名 对象名.方法名()例:classComputer{intspeed=133;intcrt=14;voidprintInfomation(){System.out.println(“speedis“+speed);System.out.println(“crt’ssizeis:”+crt);}}Computerc1=newComputer();c1.printInfomation();第14页/共20页165.4Java的修饰符5.4.1Java的访问控制符⒈普通类的访问控件符属性与方法的访问控制符本类中同一包中有继承关系不同包private可访问不可访问不可访问不可访问无(friendly)可访问可访问不可访问不可访问protected可访问可访问可访问不可访问public可访问可访问可访问可访问⒉属性与方法的访问控制符普通类的访问控制符本类中同一包中有继承关系不同包无可以实例化可以实例化不可以实例化不可以实例化public可以实例化可以实例化可以实例化可以实例化第15页/共20页175.4Java的修饰符实现类的封装如果外面的程序可以随意修改一个类的成员属性,会造成不可预知程序错误在定义一个类成员(属性和方法)时,使用private关键字,说明这个成员的访问权限为了实现良好的封装性,通常将类的成员属性声明为private,再通过public方法来对这个属性时行访问,一般有读取get,赋值操作set类封装的优点隐藏类的实现细节让使用只能通过事先定义好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合法操作便于修改,增强代码的可维护性第16页/共20页185.4Java的修饰符5.4.2Java的非访问控制符⒈static修饰符—可以修饰属性,方法说明:⑴用static修饰的成员称为类成员。⑵类成员是所有实例对象共享的。随类的定义而第一次为类成员分配内存。例:chinese第17页/共20页195.4Java的修饰符⒉abstract修饰符—抽象修饰符,可以修饰类、方法⑴抽象类—不能创建对象例5.12

abstractclasspicture{ intp;ength;intpwidth;abstractvoiddrawpictrue();voidclearpicture(){System.Out.println(“clear”)}}⑵抽象方法格式:abstract方法名();说明:①抽象类为

温馨提示

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

评论

0/150

提交评论