欢迎来到天天文库
浏览记录
ID:43191664
大小:309.50 KB
页数:31页
时间:2019-10-02
《Java培训之类和对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章类和对象回顾Java具有8种基本数据类型:int、boolean、char、short、long、float及doubleJava中的运算符可划分为四大子集:算术运算符、位运算符、关系运算符、逻辑运算符Java支持下列控制结构:选择、循环、跳转数组可用来将同一类型的数据存储在连续的内存位置2目标掌握如何创建类和构造对象掌握方法的重载和覆盖了解类的继承了解包概念3类和对象2-1对象表示现实世界中某个具体的事物。抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程。对象具有两方面的含义:在现实世界中:是客观世界中的一个实体在计算机世界中:是一个可标识的存储区域4类和对象2-2类是具
2、有共同属性和行为的对象的抽象。类可以定义为数据和方法的集合。类也称为模板,因为它们提供了对象的基本框架。类对象抽象实例化属性或状态操作或行为数据或变量方法封装的实体=数据+方法5创建类classname{typevariable1;…typevariableN;typemethodname1(parameter-list){//方法体}…typemethodnameN(parameter-list){//方法体}}在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。Java中定义类的通用格式:成员变量(对象属性)成员方法(对象行为或操作)6定义方法定义方法的一般格式
3、:[access]typemethodname1([parameter-list]){//方法体}发往某个对象的消息对应于一个方法调用。作为对消息的响应,对象将执行一个类似于过程体的方法。方法是包含在类中的函数。方法名称返回类型修饰符,可选参数列表,可选举例:publicvoidsetdate(intday,intmonth,intyear){day=23;month=7;year=2003;}7对象作为参数classTest{inta,b;Test(inti,intj){a=i;b=j;}//可以在函数中改变对象状态voidchange(Testobj){obj.a=50;obj.b=
4、40;}}当对象作为函数参数时,在函数中只能改变该对象的状态,但不能改变该对象的引用voidswapobj(Dayx,Dayy){Daytemp=y;y=x;x=temp;}引用本身按值传递Day2002,5,30Day2003,7,23obj1obj2xy调用swapobj(obj1,obj2)改变对象状态xy8this引用publicclassPassTest{intx;PassTest(intx){this.x=x;}publicvoidpassingValue(){System.out.println(“x等于"+x);}publicstaticvoidmain(Stringar
5、gs[]){PassTesttest=newPassTest(10);test.passingValue();}}关键字this与对象关联它用于指示当前对象指明此对象的变量x应赋值为通过构造函数传递的自变量x的值。9简单访问控制-private和publicpublic声明的数据成员和成员函数可从类外部的任何地方访问。而private数据将被隐藏,在类外不可见,这就实现了数据封装的思想。要从类外操纵private成员,只能通过类的public或protected成员来实现。10方法重载(overloading)方法重载是Java实现面向对象的多态性机制的一种方式。同一个类中多个方法有相同
6、的名字,不同的参数列表,这种情况称为方法重载。返回类型不同并不足以构成方法重载。当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。11方法重载示例classCalculation{publicvoidadd(inta,intb){intc=a+b;System.out.println("两个整数相加得"+c);}publicvoidadd(floata,floatb){floatc=a+b;System.out.println("两个浮点数相加得"+c);}publicvoidadd(Stringa,Stringb){Stringc=a+b;System.o
7、ut.println("两个字符串相加得"+c);}}classCalculationDemo{publicstaticvoidmain(Stringargs[]){Calculationc=newCalculation();c.add(10,20);c.add(40.0F,35.65F);c.add("早上","好");}}编译器决定调用版本12构造函数构造函数名称与类名称相同构造函数没有返回类型其任务是在创建对象时初始化其内部状
此文档下载收益归作者所有