ITjob就业培训java教材03

上传人:xins****2008 文档编号:110953682 上传时间:2019-11-01 格式:DOC 页数:16 大小:250.50KB
返回 下载 相关 举报
ITjob就业培训java教材03_第1页
第1页 / 共16页
ITjob就业培训java教材03_第2页
第2页 / 共16页
ITjob就业培训java教材03_第3页
第3页 / 共16页
ITjob就业培训java教材03_第4页
第4页 / 共16页
ITjob就业培训java教材03_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《ITjob就业培训java教材03》由会员分享,可在线阅读,更多相关《ITjob就业培训java教材03(16页珍藏版)》请在金锄头文库上搜索。

1、第三章: 面向对象的程序设计 ITjob就业培训第三章:面向对象的程序设计学习目标n 类和对象的描述n 类,属性,方法,构造方法定义n private和public访问权限的介绍n 源文件的布局n 包的声明和导入n 包与目录的布局n CLASSPATH环境变量的使用n API文档的使用类和对象的描述现实社会中一切皆对象。比如:人,树,石头,猫,鸟,汽车,地球等等。任何一种对象都具有静态的属性,但不一定具有动态的行为。比如:石头。一般情况下,对象既有静态的属性,也有动态的行为。对象本身的属性和行为之间可以相互影响,比如:一个人饿了(属性),就会去吃饭(行为)。相反,这个人吃饭(行为)后,就饱了(

2、属性),体重(属性)也增加了。不同的对象之间也可以相互作用。比如:人看到汽车开过来了,就会沿着路边走。如果这个人站在路中间不动(他不怕死),那么汽车就会停下来。那么怎么用Java语言来实现上述功能呢?后面实例分析有实现。如同建筑设计师设计建筑图(建筑的蓝图),可以用该图来盖出许许多多这种风格的房子一样。类是对象的蓝图,是用来描述对象的,你可以用该类,来实例化许许多多个该类型的对象,类就是对象的模板。在类中定义了一套数据元素(属性)和一套行为(方法)。数据是用来描述具体的一个对象(静态),行为是用来描述该类型对象的共性,也就是该对象能够做什么(动态),以及完成相关对象之间的交互,从而改变对象的状

3、态。同样对象的状态也能够对象的行为。属性和方法都叫做类的成员。例如杯子装水的时候:最大盛水量和当前盛水量。盛水的方法要始终跟踪这两个属性。 装水时改变了当前盛水量的属性,同样当当前盛水量等于最大盛水量(水装满时),就会影响装水的行为,将不再倒水。我们下面通过一个具体事例来说明Java中如何实现以上概念。例1:编写一个类,描述人吃饭,体重增加这个简单操作。下图描述了一个“人”这是一个UML中的类图,我们对它进行简单说明。n 第一行:是类名Person,代表我们正在说明一个“人”的概念。n 第二行:是属性,“-” 号代表这个属性只有这个类自己可以访问,weight代表属性的名字,double表示属

4、性的类型,这里意思是“人有一个体重的特性,体重可以是小数,别人不能直接看出人有多重,必须使用某种称量体重的方法”。n 第三行、第四行:是构建器,“+” 号代表public访问权限,含义是任何人可以访问到它。构建器是外界创造出这个“概念”的实际“例子”的入口,第三行是按照“缺省”方式构建,第四行是按照特定方式构建,特定方式是指按照参数指定的属性构建n 第五行、第六行:是方法,其中eat方法有参数,参数名字是temp,参数类型是double,该方法的返回类型为void,该方法含义是人可以吃一定数量的食物,吃完不需要给外界任何回馈。第六行的方法getWeight()没有参数,返回double类型,含

5、义是看这个人的重量。声明类Java中的语法和C一样,语句都是以分号结束,区分大小写。在Java技术中采用下列方法声明类: class 说明:暂时只用public,含义为:可以被所有其它类访问。或者不加public,在修饰类的访问权限的时候,只有两种:1,就是加上public,表示所有类都可以访问。 2,就是什么也不写,表示本包访问权限,在讲到包的含义时再理解。:任何合法的标识符。它代表所声明类的名称。Java中的标识符(类名,变量名,方法名)是由字母,数字,下划线(_),美圆符($)组成,数字不能用于标识符的开始。其中长度不受限制,不能使用java中的关键字,并且是区分大小写的。比如:clas

6、s,void等关键字。Java中的关键字都是由小写的字母组成的,所以在我们并不知道java中有那些关键字的情况下,在定义标识符的时候,只要不全是小写的字母,就不会和java中的关键字相冲突。:声明属性。也就是说用变量表示事物的状态。:声明构造函数。也叫构造方法,也叫构造器。是用来实例化该类的实例(对象)的。:声明方法。来说明事物能够做的事情,也就是行为。注意:属性,方法,构造函数在类中的顺序没有固定的约束。一般习惯性地先声明属性,后声明方法(习惯性地把构造方法写普通方法的前面)。所以Person这个类的初始版本应该是:public class Person声明属性 = ;说明:任何合法的标识符

7、。它代表所声明属性的名称。:暂时只用“public”和“private”,其中private含义为:仅能被所属类中的方法访问,这称作封装。:可以是任何原始类型(基本类型)或其它类(引用类型)。=是给属性初始化为给定的值。如果没有的话初始化为默认的值。(基本类型的初始化相应的值:比如:int,short,byte,long,char(Unicode码值)初始化为0,float,double初始化为0.0,boolean初始化为false,所有的引用类型都初始化为null)。注意:Java语言与其它语言不同,在JAVA中声明属性和初始化属性值必须一句完成。不能分开写:先声明,再另起一行初始化。例如

8、:private int a ;a=5; /错误private int b=6;/声明一个属性 b,并初始化为6;在类里面除了声明语句之外,是不能直接写其它执行语句的。 a=5 是赋值语句。如果要执行语句应放在语句块(方法块,初始化块等)里执行。据此,我们的Person类成为如下样子:public class Personprivate double weight;声明构造器 () 说明:是类名,构造器的名字和类名必须一样。:可以是public,指明可以被任何其它代码访问。private,指明仅能被同一个类中的其它代码访问。:向构造器传递参数,可以没有参数。传递多个参数时,参数之间用逗号分开。

9、每个参数由参数类型和标识符组成,这和声明属性的方式很类似,但是不能向参数赋初始值。 注意:构造器必须没有返回类型,并且构造方法的名字和类名必须一样。当一个类里面如果没有声明构造方法,那么虚拟机将自动给该类一个默认的构造器(不带参数的构造器)。如果在该类里面,定义了带参数的构造方法,那么虚拟机将不再为该类提供默认的构造方法,也就是该类不能按缺省方式构建了。我们的类此时变成:public class Person private double weight;/ 该类的默认的构造器public Person() / 带参数的构造器public Person(double d_weight) weig

10、ht = d_weight; / 实例化对象时,给weight属性赋初始值声明成员方法 ( ):任何合法的标识符。:可以是public,指明可以被任何其它代码访问,private:指明仅能被同一个类中的其它代码访问。:指明方法返回值的类型。假如方法不返回值,应被声明为void。:向方法传递参数。传递多个参数时,参数之间用逗号分开。每个参数由参数类型和标识符组成。 注意:方法必须有返回类型,返回类型为void和没有返回类型是不一样的。除了返回类型void外,有其它返回类型的方法块里必须有return语句。我们的类此时变成(Person.java):public class Person priv

11、ate double weight;/ 该类的默认的构造器public Person() / 带参数的构造器public Person(double d_weight) weight = d_weight; / 实例化对象时,给weight属性赋初始值public void eat(double temp) / 吃饭的方法weight = weight + temp; / 吃多少,体重就增加多少public double getWeight() / 得到人的体重属性 return weight; /返回weight属性private封装在类里面声明属性的时候,一般把属性的访问权限定义成priv

12、ate,封装的要求。这样只能在类里面访问该属性,在类的外面是没有访问的权限的,也就是说对于该类的实例(对象),是不能够直接访问该对象的属性的。这样就会保护对象状态不会非法改变。比如,人的体重是不能直接修改的,通过吃饭可以增加人的体重,如果该人很瘦,是不能直接把20斤牛肉放到该人身上,就算增加该人的体重的。同样的道理,如果该人很胖,也不能够从该人身上割下20斤肉,而让体重下降20斤。所以我们在以上的类中声明weight属性为private。public 公共访问在类里面声明方法的时候,一般把该方法定义成public访问权限。在程序运行的时候,就是通过对象和对象之间的交互来实现的。为了保证对象都能

13、够执行功能(方法),应该把方法的访问权限定义成public。我们对方法getWeight()的处理就是这样。下面是测试Person的PersonApp.javapublic class PersonApp public static void main(String args) / p1是声明的变量,类型是Person类型的,并且引用了Person类的一个对象,且使用默认的构造器构造对象Person p1 = new Person();/ p2 同p1,使用带参数的构造器Person p2 = new Person(120);/ p1所引用的对象(简称p1对象),吃了2.5斤p1.eat(2.5);/ p2 对象 吃了4.3斤p2.eat(4.3);/ 打印出p1的体重System.out.println(p1的体重为: + p1.getWeight();/ 打印出p2的体重System.out.println(p2的体重为: + p2.getWeight();编译和运行的过程如下图: 例2我们知道如果文件名出现重复,那么我们要放在不同的目录中,class文件作为类的字节码载体,如果存在类名重复,那么class

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

最新文档


当前位置:首页 > 大杂烩/其它

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