三、类和对象

三、类和对象

ID:44288563

大小:166.00 KB

页数:33页

时间:2019-10-20

三、类和对象_第1页
三、类和对象_第2页
三、类和对象_第3页
三、类和对象_第4页
三、类和对象_第5页
资源描述:

《三、类和对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、类和对象面向对象程序设计(OOP)Java是完全的面向对象语言,Java程序是由对象组成的,这些对象有自己的属性和能够执行的操作。每个对象负责执行一组相关的任务,一个对象不能直接访问其他对象的数据,也不能让其他对象直接访问自己的数据OOP的本质:将大量问题归纳为一个简单的解OOP技术的三大特性封装性、继承性、多态性类的声明(class)类声明语法:classAClassName{/*classbody*/}方法、参数和返回值方法只能作为类的一部分创建方法能访问所在类中所有的成员变量和方法returnTypemethodName(/*argumentlist*/){/*

2、methodbody*/}访问权限修饰符public:对任何人可用private:除了包含该成员的类之外,其他任何类都无法访问这个成员protected:该类自身、子类、包中其他类可访问public和protected方法可以被其子类重写对象类实例化可生成对象对象通过消息传递进行交互消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为。表现为调用该对象的某个方法。对象的生命周期生成、使用、清除对象的使用通过运算符“.”可以访问数据和对方法的调用。objectReference可以是一个已生成的对象,也可以是可以产生对象的表达式objectReferenc

3、e.variableobjectReference.methodName([paramlist]);p.x=10;tx=newPoint().x;p.move(30,20);newPoint().move(20,30);对象的生成包括声明、实例化和初始化格式:typeobjName=newtype([paramlist]);声明typeobjName声明并不为对象分配内存空间,而只是分配一个引用空间。实例化运算符new:为对象分配内存空间,它调用对象的构造器,返回引用。初始化执行构造器进行初始化根据参数不同调用相应的构造器对象初始化在C++中引入了“构造器”(cons

4、tructor)的概念,这是一个在创建对象时被自动调用的特殊方法。Java同样也采用了此方法。构造器的命名方式:与类名一致。注意,构造器没有返回值,如果存在一个与类名相同但是有返回值的方法,那么此方法不是构造器。构造器不是方法,不能像方法一样调用classRock{intweight;Rock(){//ThisistheconstructorSystem.out.println("CreatingRock");weight=100;}}默认构造器如果没有显式定义任何构造器,那么编译器会插入一个“后台”的不可见的无参数的构造器。一旦自己创建了构造器,Java就不支持默认

5、的无参数的构造器了。classRock{}//相当于classRock{Rock(){}}默认构造器classBase{Base(inti){System.out.println("singleintconstructor");}}publicclassCons{publicstaticvoidmain(Stringargs[]){Basec=newBase();//willnotcompile//Basec=newBase(10);//correct}}方法的重载(overloading)多个方法享有相同的方法名称为重载区分:参数类型不同或个数不同,甚至是顺序不同(

6、例如int,String与String,int,但一般不推荐这样使用)classPrinter{print(){...}print(Strings){...}print(inti){...}print(booleanb){...}print(inti,booleanb){...}}以返回值区分重载方法是否可以以返回值区分重载方法?如果编译器可根据语境明确判断出语义,如intx=f(),那么的确可以区分此重载方法,但有时我们并不关心方法的返回值,而只关心方法的效果,如f(),这种情况下,Java无法判断应该调用一个方法所以,不能以返回值区分重载方法voidf(){}in

7、tf(){}构造器的重载构造器的名字由于已经由类名决定,当我们需要以多种方式创建一个对象时,就必须使用重载Stringa=newString();//空串Stringb=newString("JavaWorld!");charchars1[]={'a','b','c'};Stringc=newString(chars1);this关键字this用在一个方法内部,表示对“调用方法的那个对象”的引用classEmployee{privateStringname;privatedoublesalary;...publicvoidraiseSalaryByP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。