《Java语言程序设计 第二章.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计 第二章.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java面向对象程序设计面向对象程序设计第第2章章 Java程序语言基础程序语言基础1本章主要内容本章主要内容l熟悉熟悉Java程序的组织形式程序的组织形式l理解类、对象与成员的概念理解类、对象与成员的概念l掌握对象的创建与引用掌握对象的创建与引用l熟悉访问修饰符和方法修饰符的使用熟悉访问修饰符和方法修饰符的使用l掌握掌握Java支持的数据类型与操作符支持的数据类型与操作符2Java程序的组织形式程序的组织形式l基本要素基本要素保留字:也叫关键字,有特定意义和用途,不能随保留字:也叫关键字,有特定意义和用途,不能随意使用。意使用。lclass、interface、void、int、double
2、、protected、public、private、static、final、abstract、extends、implements、if、for、while、switch等。等。标识符标识符:以字母、下划线或美元符:以字母、下划线或美元符($)开头,由字母、开头,由字母、数字、下划线或美元符数字、下划线或美元符($)组成,区分大小写。可用组成,区分大小写。可用作变量名、方法名、接口名、类名等。作变量名、方法名、接口名、类名等。l注意:尽量使用有意义的英文单词进行命名,并遵守注意:尽量使用有意义的英文单词进行命名,并遵守相应命名规范。相应命名规范。演示标识符变量名和方法名的命名规范:变量名和方
3、法名的命名规范:第一个单词小写,后面单词首第一个单词小写,后面单词首字母大写。字母大写。3Java程序的组织形式程序的组织形式l基本要素(续)基本要素(续)单行注释单行注释lSystem.out.println(“Hello!Welcome!”);/行末注释行末注释多行注释多行注释l/*public void run()*/文档注释文档注释l可以使用可以使用javadoc工具生成工具生成HTML API文档文档 /*方法的功能说明方法的功能说明 *param 参数参数 *throws 异常异常 */演示生成API文档4Java程序的组织形式程序的组织形式l程序结构以程序结构以“类类”为基础,定
4、义一个类时要使为基础,定义一个类时要使用用“class”关键字。关键字。l一个源文件中可包含多个类,但只能有一个是一个源文件中可包含多个类,但只能有一个是公共类,并且该公共类的名称要与文件名同名。公共类,并且该公共类的名称要与文件名同名。演示编译含有多个类的源文件例如:源程序例如:源程序A.java文件中含有如下代码:文件中含有如下代码:public class A class B class C 编译后,生成编译后,生成3个字节码文件:个字节码文件:A.class,B.class,C.class类名的命名规范:类名的命名规范:首字母大写首字母大写5Java程序的组织形式程序的组织形式l包的概
5、念包的概念包允许将类组合成较小的单元(类似文件夹)。包允许将类组合成较小的单元(类似文件夹)。l包的作用包的作用有助于避免命名冲突。在使用类时,类的名称很难有助于避免命名冲突。在使用类时,类的名称很难决定,有时在命名时不得以需要与其他类名同名。决定,有时在命名时不得以需要与其他类名同名。包机制能够在一定程度上设置其内部的类、属性和包机制能够在一定程度上设置其内部的类、属性和方法的对外可见度。方法的对外可见度。l包的创建:包的创建:package 包名包名;l包的导入:包的导入:import 包名包名.类名;类名;演示创建与导入包注意包名的命名规范:注意包名的命名规范:全部小写,域名定义。全部小
6、写,域名定义。演示环境变量classpath6类与对象类与对象l万事万物皆对象。万事万物皆对象。面向对象的编程(面向对象的编程(OOP)思想实质是使用计算机语)思想实质是使用计算机语言实现对事物的描述,尽可能反映出现实世界事物言实现对事物的描述,尽可能反映出现实世界事物的本来面目。的本来面目。l类是对一类的事物描述,是抽象的、概念上的类是对一类的事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,定义;对象是实际存在的该类事物的每个个体,也称实例。也称实例。l程序一般是依赖创建类的实例来驱动运行的。程序一般是依赖创建类的实例来驱动运行的。7类成员类成员l类定义两方面内容:类定
7、义两方面内容:类中封装的数据,叫做属性或者成员变量;类中封装的数据,叫做属性或者成员变量;类中封装的操作数据的行为,叫做方法或者成员方类中封装的操作数据的行为,叫做方法或者成员方法。法。l在实际问题中,对实体类的抽象是最关键的一在实际问题中,对实体类的抽象是最关键的一步,它决定了该系统是否能真实反映实际业务步,它决定了该系统是否能真实反映实际业务活动。活动。8类成员类成员l【例【例2.3】创建一个计数器类,封装计数数据及】创建一个计数器类,封装计数数据及其各种操作方法。其各种操作方法。public class Accumulator private int data;/private表示封装表
8、示封装data属性,防止外界修属性,防止外界修改改 public void add()/计数器计数计数器计数 data+;public void reset()/计数器清计数器清0 data=0;public int getData()/返回计数器结果返回计数器结果 return data;pubic static void main(String args)Accumulator acc=new Accumulator();acc.reset();acc.add();acc.add();System.out.println(acc.getData();9信息的封装信息的封装l封装是对对象的一
9、种保护机制,使得它的属性封装是对对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问。或方法不被外部的程序直接访问。l直接操作类内部定义的属性,会导致数据的错直接操作类内部定义的属性,会导致数据的错误、混乱或安全性问题。例如:误、混乱或安全性问题。例如:public class Student public int age;public static void main(String args)Student stu=new Student();stu.age=1000;/不合理的设置不合理的设置 10信息的封装信息的封装l通过将数据封装、声明为私有的通过将数据封装、声明为私有的(pr
10、ivate),再提供一个或多个公开的再提供一个或多个公开的(public)方法实现对方法实现对该属性的操作,以实现下述目的:该属性的操作,以实现下述目的:隐藏一个类的实现细节;隐藏一个类的实现细节;防止对封装数据的未经授权的访问。使用者只能通防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;控制逻辑,限制对属性的不合理操作;有利于保证数据的完整性;有利于保证数据的完整性;便于修改,增强代码的可维护性;便于修改,增强代码的可维护性;11信息的封装信息的封装public class
11、Student private int age;public int getAge()return age;public void setAge(int vAge)age=vAge;public void setAge(int vAge)if(vAge 200|vAge=,=,!=逻辑运算符逻辑运算符逻辑运算符用于逻辑运算符用于 boolean 操作数操作数&,|,&,|,!条件运算符条件运算符条件运算符很独特,因为它是用三个操条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以作数组成表达式的三元运算符。它可以替代某种类型的替代某种类型的 if-else 语句语句?:赋值运算
12、符赋值运算符赋值运算符为一个等号赋值运算符为一个等号=,它将值赋给它将值赋给变量变量=,*=,/=,+=,-=演示操作符33操作符优先级操作符优先级l【例【例2.19】在复杂运算中,体现操作符的运算优先级。】在复杂运算中,体现操作符的运算优先级。public class OperatorTest public static void main(String args)int a=1,b=2,c=3;boolean result;result=(a=1)&(b!=+a*c);System.out.println(the result is:+result);34变量作用域变量作用域l变量可以在代
13、码块中声明,代码块用来定义作变量可以在代码块中声明,代码块用来定义作用域,代码块以左大括号开始,以右大括号结用域,代码块以左大括号开始,以右大括号结束。束。class ScopeVar public static void main(String args)int num=10;if(num=10)int num1=num*num;System.out.println(“num 和 num1 的值为+num+num1);num1=10;System.out.println(“num 的值为+num);/错误!num1 未知/num 在内层作用域中可用在内层作用域中可用35本节小结本节小结lJa
14、va 程序结构以程序结构以“类类”为单位。为单位。l“包包”机制能够避免命名冲突,以及保护类内部成员。机制能够避免命名冲突,以及保护类内部成员。l类包括成员属性和成员方法的两方面描述。类包括成员属性和成员方法的两方面描述。l通过封装实现对类内部数据的保护。通过封装实现对类内部数据的保护。l对象初始化与构造方法的使用。对象初始化与构造方法的使用。l方法重载的概念。方法重载的概念。l对象及引用的概念。对象及引用的概念。l访问修饰符的作用。访问修饰符的作用。lstatic关键字修饰静态成员,可以直接用类名称调用,且只能调关键字修饰静态成员,可以直接用类名称调用,且只能调用其它静态成员。用其它静态成员。lfinal关键字用来表示常量。关键字用来表示常量。lJava数据类型与数据类型与C语言的区别,数据类型转换及包装类的使用。语言的区别,数据类型转换及包装类的使用。lJava操作符的使用。操作符的使用。l变量作用域的概念。变量作用域的概念。36