欢迎来到天天文库
浏览记录
ID:38871097
大小:2.94 MB
页数:31页
时间:2019-06-20
《《Java程序设计及应用》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6讲:面向对象(1)内容提要人与计算机的关系物理世界与面向对象类与对象面向对象基本特征封装访问修饰符继承多态重载覆盖教学要求物理世界与面向对象的思想、方法计算机面向对象的思想、方法如何定义一个类以及创建其实例面向对象的三个基本特征人与计算机的关系人处于主体地位,计算机只能处于从属地位。计算机必须能够模拟这个物理世界。计算机是个小世界,而物理世界是个大世界,小世界来源于大世界物理世界的认知(1)世界由万物构成。(2)事物是运动的、发展的、变化的。(3)事物之间的关系是复杂的、多变的。事物的基本特征(1)封装。保护功能
2、相对独立性(2)继承加快事物发展的速度提高事物发展的质量(3)多态。透过现象抓本质,以不变应万变。事物间的关系泛化关系(Generalization)聚合关系(Aggregation)组合关系(Composition)依赖关系(Dependency)关联(Association)。类与对象世界由万物构成,经由前面的学习,我们知道研究物理世界要用分类的方法。在面向对象程序设计中用类(class)来模拟一类事物。类的定义需用关键字class,定义一个简单类的语法如下:class类名{//该行称为类头,大括号之间的部分称为
3、类体零或多个属性;零或多个方法;}其中属性的定义格式有两种,如下:(1)类型属性名[=属性值];(2)类型属性名1[=属性值1],属性名2[=属性值2],...;类定义举例1classStudent{2Stringsno;//学号3Stringname,major;//姓名,专业4intage;//年龄56voidshowInfo(){7System.out.println("学号:"+sno+"t姓名:"+name+8"t年龄:"+age+"t专业:"+major);9}1011Studen
4、t(){//第一种构造方法12}1314/*第二种构造方法*/15Student(Stringsno1,Stringname1,Stringmajor1,intage1){16sno=sno1;17name=name1;18major=major1;19age=age1;20}21}22实例对象实例对象可以使用类的构造方法和new关键字构造出来。语法为:类名对象引用=new构造方法;例如:Studentt=newStudent();类的成员1.成员属性的定义成员属性也称为成员变量,定义一个成员属性
5、,格式为:[修饰符]类型成员属性名[=成员属性值];例如:inta=10;intb;Strings1;Strings2=newString("abc");其中修饰符暂不讲,详见3.8节。2.成员方法的定义语法为:[修饰符]返回类型方法名([形式参数列表])[throws异常类型列表]{//方法头执行语句块;//方法体}成员变量的初始化成员变量类型默认值成员变量类型默认值booleanfalsechar‘’(即空字符)byte,short,int0long0Lfloat0.0Fdouble0.0D引用类型nul
6、l构造方法当使用new关键字创建一个类实例对象时,系统(JVM)会自动调用该类的构造方法来完成类实例对象的构建,从而构造方法对类定义来说是必须的。那么我们在类中如何声明一个构造方法呢?如下:[访问修饰符]类名([参数列表]){//......}构造方法的几点说明(1)构造方法的访问修饰符可以是public,protected或者缺省(即不用访问修饰符),但不允许private。(2)构造方法的名称和类名相同,但没有返回类型。(3)若没有定义任何构造方法,则在编译阶段编译器会在编译后的字节码文件中插入一个默认的构造
7、方法,默认的构造方法是:无参数列表,访问修饰符和类的访问修饰符相同,方法体内为空。(4)构造方法本身不能递归调用。(5)构造方法体的最后一行语句可以是空的return语句,即“return;”,也可以不用return语句。(6)可在一个类中定义多个构造方法,其区别在于参数列表不同,这是构造方法的重载。关于重载,详见3.5.1节。封装的Java表达与访问修饰符封装有两个作用:保护作用和增强对象的独立性。保护作用是通过设置访问修饰符来实现的。访问修饰符有4个:public、protected、默认访问修饰符、privat
8、e。其中默认访问修饰符就是没有修饰符,即不用public、protected、private中的任何一个。访问修饰符用于对类、成员属性和成员方法设置访问权限,对它们实施保护作用。访问修饰符(1)public可用于修饰类、成员变量和方法。表明该成员变量和方法是共有的,能在任何情况下被访问。Java应用程序中的main()方法必须用public来修
此文档下载收益归作者所有