java教程--类与对象

上传人:艾力 文档编号:37662065 上传时间:2018-04-20 格式:PPT 页数:105 大小:1.75MB
返回 下载 相关 举报
java教程--类与对象_第1页
第1页 / 共105页
java教程--类与对象_第2页
第2页 / 共105页
java教程--类与对象_第3页
第3页 / 共105页
java教程--类与对象_第4页
第4页 / 共105页
java教程--类与对象_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《java教程--类与对象》由会员分享,可在线阅读,更多相关《java教程--类与对象(105页珍藏版)》请在金锄头文库上搜索。

1、安徽大学4.类与对象主讲:王华彬知识点v变量作用域 v构造方法 v方法重载 v参数传递 v实例成员和类成员 vpackage vimport v访问权限 v可变参数Java技术及其应用面向对象的三个特性: 封装、继承和多态本章学习封装性v类的封装性体现在,把一类事物所具有的相同的 属性和方法封装在一起。 v然后通过定义该类的一个对象,进而对该对象的 属性赋值,调用类的方法,从而完成一定的功能封装性v 汽车类: CLASS car v 属性: v 颜色, 灰色、红色、黄色 v 品牌, 法拉利、现代、马自达 v 类型, 赛车、轿跑车、SUV v 方法: v 启动 v 前进 v 倒车 v 熄火v c

2、ar 罗院长的车 =new car(); v 罗院长的车.carColor=gray;罗院长的车.carBrand=现代; v 罗院长的车.carStart();罗院长的车.carStop();封装性v 手机类: CLASS phone v 属性: v 颜色, 灰色、红色、黄色 v 品牌, 苹果、谷歌、三星 v 类型, 触屏、直板、翻盖 v 方法: v 开机 v 拨号 v 挂断 v 关机v phone 王玮的手机 =new phone(); v 王玮的手机.phoneColor=gray;王玮的手机.phoneBrand=诺基亚*; v 王玮的手机.phonePoweron();王玮的手机.p

3、honePoweroff();类定义的一般要求class Rect double width; double height; double getArea() double area=width*height;return area; 要求:类名是合法标示符,且容易理解 定义一个类包括三步:取类名定义属性定义方法类定义的一般要求v class car v int carBrand; v char carColor; v int carKind; v /属性一般写在方法前习惯先定义属性,再定义方法; v /一行只定义一个属性,不提倡int carBrand , carKind; v /变量首字母

4、小写,第2个单词开始字母大写 v int startCar(); v int forward(); v int reversing(); v int stopCar(); ; /方法 函数 v v 类的属性 或称为成员变量类的属性初始值class Rect double width; double height; double getArea() double area=width*height;return area; Java技术及其应用class 类名 成员变量; 成员方法; width=0.0; height=0.0;类成员变量可以不赋初值,默 认0,false; 局部变量需要赋初值。

5、类的属性初始值class Rect double width=1; double height; double getArea() double area=width*height;return area; vclass test vpublic static void main(String args) vRect r=new Rect(); v System.out.println(r.width); v System.out.println(r.height); v v 思考:程序的输出?Java技术及其应用double width; width=1;变量作用域class Rect do

6、uble width; double height; double area; double getArea() double area=width*height;return area;void setHeight (double height) this.height=height; Java技术及其应用成员变量方法体内 局部变量方法的参数 变量v成员变量,即属性的有效区是整个类; v方法中的局部变量的有效区是该方法; v方法的参数的有效区在该方法中;v当成员变量和方法的局部变量或方法的参数变量 相同时,成员变量被隐藏, v即:成员变量在方法中暂时失效Java技术及其应用this关键字v当

7、成员变量被同名的局部变量或方法的参数变量 隐藏时(即成员变量在方法中暂时失效),v为了表示成员变量,可以用this.成员变量为指代vthis指向调用该成员方法的对象。vRect r=new Rect ();this可以理解是r的引用变量作用域例题class Variable int x=10;/成员变量int y; void init() int x=5;y=x; System.out.println(y); 思考:程序输出? /此时y=x=5,变量作用域例题class Variable int x=10;/成员变量int y; void init() int x=5;y=this.x; Sy

8、stem.out.println(y); /此时y=x=10,class Variable int x=0,y=0,z=0;/成员变量 void init(int x,int y) this.x=x; this.y=y; int z=5;/方法中的局部变量 System.out.println(x+“ “+y+“ “+z); Variable v=new Variable(); System.out.println(v.x+“ “+v.y+“ “+v.z); v.init(20,30); System.out.println(v.x+“ “+v.y+“ “+v.z);20 30v.x=20 v

9、.y=30再来一个例题public class A void f() int m=10,sum=0; if(m9) int z=10; z=2*m+z; for(int i=0;im;i+) sum=sum+i; m=sum; z=i+sum; Java技术及其应用编译错,错在哪儿?Z的有效区在if; i的有效区在for课后习题4-8class B int x=100,y=200; public void setX(int x)x=x; public void setY(int y)this.y=y; public int getXYSum() return x+y; Java技术及其应用B

10、b=new B(); b.setX(-100); /成员变量b.x=? b.setY(-200); /成员变量b.y=? System.out.println(b.getXYSum(); /成员变量x=100; /成员变量y=-200 /X+y=-100变量作用域知识点小结v类的成员方法中定义的局部变量或成员方法的参数 变量都会隐藏掉同名的类的成员变量,v这时可以使用this关键字来表示同名的类的成员变量 vthis关键字指向调用该成员方法的对象。Java技术及其应用v已经介绍了类的属性,接下来是: ?v类的方法 或称为成员函数 v1、构造方法 v2、成员方法构造方法public class

11、Example public static void main(String args) Rect r1= new Rect(); /创建对象r1.width=128;/使用对象r1.height=69;double area=r1.getArea();System.out.println(“rectangle的面积 :“+area); Java技术及其应用分配空间,并初始化对象,调用构造方法构造方法class Rect double width; double height; double getArea() double area=width*height;return area; Jav

12、a技术及其应用Rect() v构造方法是一种特殊的方法 v构造方法名和类名相同 v无返回类型 v构造方法在new创建对象时被调用 v若无构造方法,按照默认的构造方法仅分配空间 v构造方法可以重载Rect r1=new Rect();v构造方法: 是一个函数 v 和类类同名 v 对类对类 的属性进进行赋值赋值 v 可以重载载,构造方法的重载class Rect double width; double height; Rect() width=10.0; height=20.0; Rect(double x,double y) width=x; height=y; double getArea(

13、) 构造方法名相同,而 参数的个数或类型不同Rect()构造方法的调用public class Example public static void main(String args) Rect r1= new Rect(); /创建对象double area1=r1.getArea();Rect r2= new Rect(1,2); /创建对象double area2=r2.getArea(); Java技术及其应用一个类可以定义多个构造方法,根据参数个数或类型不同, 使用不同的构造方法, 构造函数作用是:为对象分配内存空间,为对象的属性赋初始值方法重载(Method Overloading

14、)v多个方法可以享有相同的名字 v方法的参数必须不同 或者是参数个数不同; 或者是参数类型不同; v完成的功能相似 v返回类型不能作为区分函数重载的标准方法重载的好处v要打印不同类型的数据:int, float, String,不 需要定义不同名的方法名:printInt(int);printFloat(float);printString(String); v利用方法重载,只需要定义一个方法名print() ,接收不同的参数: print(int); print(float); print(String);class MethodOverloading void receive(int i) System.out.println(“Receive one int data “); System.out.println(“i=“+i); void receive(int x,int y) System.out.println(“Receive two int datas “); System.out.println(“x=“+x+“ y=“+y); 方法重载例题void receive(double d) System.out.println(“Receive one d

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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