4.2类和对象的使用ppt课件.pptx
4.2类和对象的使用JavaJava程序设计程序设计第4章 类和对象设计PPT模板下载:行业PPT模板:节日PPT模板:素材下载:PPT背景图片:图表下载:优秀PPT下载:教程: Word教程: 教程:资料下载:课件下载:范文下载:试卷下载:教案下载: 4.2 类和对象的使用P3 类是描述对象的“基本原型”,它封装了一类对象的属性和可以改变这些属性的方法,在面向对象的程序设计中,类是程序的基本单元。 用户必须先定义类,并生成该类的实例,然后才能通过该实例访问其成员变量和方法。variablesmethods 定义类P4n类通过关键字class进行标识,基本形式如下: 类修饰符 class 类名 extends 父类名 implements 接口名 /类体,包括定义类的成员(成员变量 和成员方法等) extends 父类名为可选项,表示所定义的类继承自其它父类。 implements 接口名为可选项,它表示我们定义的类需要通过实现某个接口完成。类修饰符 extends 父类名 implements 接口名定义成员变量P5n成员变量的定义格式为: 修饰符 类型 成员变量名列表; 成员变量的修饰符(如public, protected, private, final, static等)为可选项,主要起到对变量进行访问控制和限定的作用。定义成员方法P6n方法表示对象所具有的行为,定义格式如下: 修饰符 返回值类型 方法名(参数列表)方法体 如果方法不返回任何值,它必须声明为void 如:特殊成员方法P7nmain方法: public static void main(String args) 是整个Java应用程序的执行起点n构造方法(构造器): 方法名必须与类名相同,且不能有任何返回值。 如类Student的构造方法可定义为: Student (int i_no, String i_name) 或 Student(String s) 构造器有没有内容返回呢?方法重载(1)P8n方法重载是指:多个方法拥有相同的方法名,但方法的参数列表不同,即参数的数量、类型不完全相同。n注意:返回类型不能用来区分重载的方法。n方法调用时,编译器根据实参列表的个数和类型自动调用匹配的方法。口诀:两同一不同方法重载(2)P9对象P10n实例化对象 类作为一种抽象的复合数据类型,必须先要实例化(即生成对象),然后才能使用。n实例化对象格式为 类名 对象名= new 类名(参数列表) 关键字new为每个生成的对象在中分配一片内存区域,并返回该对象的一个。n如实例化类Point的对象p1 Point p1=new Point (); 栈p1堆Point对象初始化对象(1)P11n为所创建对象的成员变量赋初值。 可直接在定义成员变量的同时对其赋值。 可在初始化块中对成员变量赋值。 也可通过构造方法初始化对象。n通过构造方法初始化对象步骤: (1)定义一个或多个构造方法,并在方法体中对成员变量赋初值。 (2)调用或执行相应的构造方法。初始化对象(2)P12初始化对象(3)P13n构造方法使用注意: (1)构造方法一般只能由new运算符调用。 (2)构造方法也可以被重载。 (3)调用重载的构造方法时,同样根据参数的类型、个数等决定调用哪个构造方法。 (4)构造方法不能被继承。 (5)如果用户没有定义任何构造方法,则系统会自动生成默认的无参数构造方法。使用对象(1)P14n包括对成员变量的引用和成员方法的调用,可通过点运算符(.)来实现,格式如下: 对象名.成员变量名 对象名.成员方法名(实参列表)n注意: 方法调用形式有两种形式:传值和传引用 传值调用是单向的,将实参的值对应传递给形参 引用对实参和形参的影响则是双向的传值和传引用的区别P15n传值:n传引用:A方法AP对象方法P使用对象(2)P16程序运行结果:In changeInt:11Current Int value is: 11In changeArrayValue:9Current Value in array is: 6使用静态变量和静态方法(1)P17n定义静态变量和静态方法:在变量或方法名前加一个关键字static即可n实例成员为特定实例所有,只能通过对象名访问。n类成员(也称静态成员)为类所有,不属于某一个对象,可通过类名或对象名访问。n静态成员变量在类初始化时分配内存空间,该空间被类的所有实例共享。object bchar dataobject cchar dataObject bchar datastatic intshare_dataobject bchar data使用静态变量和静态方法(2)P18使用静态变量和静态方法(3)P19程序运行结果:instInt=1; instdouble=2.0 instInt=3; instdouble=4.0statInt=4; statdouble=16.0 statInt=4; statdouble=16.0 statInt=4; statdouble=16.0statInt=8; statdouble=8.0 statInt=8; statdouble=8.0主方法与命令行参数(1)P20n一个Java应用程序(application)可以由一个或多个类构成,但其中最多只能有一个主类(public类)。n主类的特征之一是类名与Java文件名相同,且必须含有main()方法 public static void main(String args) main()方法可以通过数组args接收多个命令行参数,即args0存放第一个参数,args1存放第二个参数主方法与命令行参数(2)P21如果执行该程序: java MainTest I Love China则程序输出为: number of paraments : 3 args 0 = I args 1 = Love args 2 = China