第三章Java程序设计基础_第1页
第三章Java程序设计基础_第2页
第三章Java程序设计基础_第3页
第三章Java程序设计基础_第4页
第三章Java程序设计基础_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章Java程序设计基础小节安排Java程序设计基础

3.1、Java产生的历史与现状2.2、开发环境的搭建

3.2、

Java的特点

3.5、面向对象程序设计

3.3、Java的工作原理

3.5、面向对象程序设计

3.5、面向对象程序设计

3.6、面向对象应用综合开发实例

3.5、面向对象程序设计

3.4、

Java基础语法

3.2、

Java的特点

Java语言的发展史

JAVA起源:1982年SunMicrosystems诞生于美国斯坦福大学校园1990年一切从JamesGosling准备离职开始JAVA之父JamesGosling绿色小组诞生Java语言的发展史JAVA起源(二):绿色小组的研究方向和Oak语言的产生JAVA名称的由来Java语言的发展史JAVA起源(三):绿色小组辛勤工作,但努力并未得到回报1995年初,”硅谷-好莱坞”互联网及娱乐业的研讨会上,JAVA成为了明星2000-2001年Sun最兴盛时,股票峰值曾达258.75美元/股,公司估价超过2000亿美金Java的现状

*Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。

Sun在JAVA“白皮书”中指出:JAVA是一种“简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态”的编程语言BillGates说,Java是最卓越的程序设计语言

Java的现状

*1.计算机产业的许多大公司购买了Java的许可证,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。这一点说明,Java已得到了工业界的认可。2.众多的软件开发商开始支持Java的软件产品。例如:Borland公司正在开发的基于Java的快速应用程序开发环境Latte,预计产品会在1996年中期发布。Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java开发环境JavaWorkshop已经发布。数据库厂商如:Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台)。Java的现状

*3.Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是把Internet用于企业内部的信息系统,它的优点表现在:便宜,易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的Intrnet浏览器,而数据库、Web页面、应用程序(用Java编的Applet)则存在WWW服务器上,无论是开发人员,还是管理人员,或是用户都可以受益于该解决方案。Java语言正在不断发展和完善,Sun公司是主要的发展推动者,较通用的编译环境有JDK(JavaDevelopKit)与JWS(JavaWorkshop)。还有很多其他公司正在开发Java语言的编译器与集成环境,预计不久Java语言的正确性与效率都将会提高,用户用Java编程和现在用C++编程一样方便。小节安排Java程序设计基础

3.1、Java产生的历史与现状2.2、开发环境的搭建

3.2、

Java的特点

3.5、面向对象程序设计

3.3、Java的工作原理

3.5、面向对象程序设计

3.5、面向对象程序设计

3.6、面向对象应用综合开发实例

3.5、面向对象程序设计

3.4、

Java基础语法

3.2、

Java的特点

Java的特点*Java是一种纯面向对象的网络编程语言,它具有如下特点:1)简单、安全可靠Java是一种强类型的语言,由于它最初设计的目的是应用于电子类消费产品,因此就要求既要简单又要可靠。Java的结构类似于C和C++,它汲取了C和C++优秀的部分,弃除了许多C和C++中比较繁杂和不太可靠的部分,它略去了运算符重载、多重继承等较为复杂的部分;它不支持指针,杜绝了内存的非法访问。它所具有的自动内存管理机制也大大简化了程序的设计与开发。Java主要用于网络应用程序的开发,网络安全必须保证,Java通过自身的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。Java的特点*2)面向对象Java是一种完全面向对象的语言,它提供了简单的类机制以及动态的接口模型,支持封装、多态性和继承(只支持单一继承)。面向对象的程序设计是一种以数据(对象)及其接口为中心的程序设计技术。也可以说是一种定义程序模块如何“即插即用”的机制。面向对象的概念其实来自于现实世界,在现实世界中,任一实体都可以看作是一个对象,而任一实体又归属于某类事物,因此任何一个对象都是某一类事物的一个实例。在Java中,对象封装了它的状态变量和方法(函数),实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或者重新定义父类或者超类所提供的方法,从而实现了代码的复用。Java的特点*3)分布式计算Java为程序开发者提供了有关网络应用处理功能的类库包,程序开发者可以使用它非常方便地实现基于TCP/IP的网络分布式应用系统。Java的特点*4)平台的无关性Java是一种跨平台的网络编程语言,是一种解释执行的语言。Java源程序被Java编译器编译成字节码(Byte-code)文件,Java字节码是一种“结构中立性”(architectureneutral)的目标文件格式,Java虚拟机(JVM)和任何Java-使能的Internet浏览器都可执行这些字节码文件。在任何不同的计算机上,只要具有Java虚拟机或Java使能的Internet浏览器即可运行Java的字节码文件,不需重新编译(当然,其版本向上兼容)。实现了程序员梦寐以求的“一次编程、到处运行”(writeonce,runeverywhere!)的梦想。Java的特点*5)多线程Java的多线程(multithreading)机制使程序可以并行运行。线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。Java的同步机制保证了对共享数据的正确操作。多线程使程序设计者可以在一个程序中用不同的线程分别实现各种不同的行为,从而带来更高的效率和更好的实时控制性能。Java的特点*6)动态的一个Java程序中可以包含其他人写的多个模块,这些模块可能会遇到一些变化,由于Java在运行时才把它们连接起来,这就避免了因模块代码变化而引发的错误。Java的特点*7)可扩充的Java发布的J2EE标准是一个技术规范框架,它规划了一个利用现有和未来各种Java技术整合解决企业应用的远景蓝图。正如SUNMicroSystems所述:Java是简单的、面向对象的、分布式的、解释的、有活力的、安全的、结构中立的、可移动的、高性能的、多线程和动态的语言。Java特点某种意义上来说,Java不仅是编程语言,还是一个开发平台。Java技术给程序员提供了许多工具编译器、解释器、文档生成器和文件打包工具等同时Java还是一个程序发布平台。两种主要的“发布环境”首先是Java运行时环境(javaruntimeenvironment,简称JRE)包含了完整的类文件包;其次,许多主要的浏览器都提供了Java解释器和运行时环境。Java特点(三个平台架构)J2SE(Java2StandardEdition):标准版主要目的是为台式机和工作站提供一个开发和运行的平台。包括标准的Java2SDK、工具、运行时环境和API,适用于Java程序设计语言编写、部署和运行Applet和应用程序的开发人员,是桌面开发和低端商务应用的解决方案。J2EE(Java2EnterpriseEdition):企业版主要目的是为企业计算提供一个应用服务器的运行和开发平台。J2EE本身是一个开放的标准,任何软件厂商都可以推出自己的符合J2EE标准的产品,通过基于标准化模块组件和一整套的相关服务能够自动处理应用程序行为的许多细节,从而大大简化了多层企业应用程序的构造和部署。IBM、Oracle、BEA、HP等29家已经推出了自己的产品,其中尤以BEA公司的WebLogic产品和IBM公司的WebSphare最为著名。Java特点(三个平台架构)J2ME(Java2MicroEdition):小型版主要是面向消费类电子产品,为消费类电子产品提供一个Java的运行平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行包含高度优化的Java运行时环境,致力于电子消费产品和嵌入式设备的解决方案。Java特点(三个平台架构)Java平台架构J2MEJ2EEJ2SE几个Java技术术语Java虚拟机(JVM)用软件仿真计算机硬件JAVA运行系统是对JVM的具体实现,其作用是完成类的装载、代码验证和代码的解释执行;Java应用程序编程接口(API)Sun提供的各种常用类和接口(事先写好的代码),可供Java程序员直接使用,以减少编程的工作量和难度。类似微软的基础类库MFC。Java开发工具包(JDK)Sun提供的java开发工具包,包含类库、编译运行工具等23小节安排Java程序设计基础

3.1、Java产生的历史与现状2.2、开发环境的搭建

3.2、

Java的特点

3.5、面向对象程序设计

3.3、Java的工作原理

3.5、面向对象程序设计

3.5、面向对象程序设计

3.6、面向对象应用综合开发实例

3.5、面向对象程序设计

3.4、

Java基础语法

3.2、

Java的特点

Java虚拟机

Java虚拟机其实是软件模拟的计算机,它可以在任何处理器上(无论是在计算机中还是在其它电子设备中)解释并执行字Java的字节码文件。Java的字节码被称为Java虚拟机的机器码,它被保存在扩展名为.class的文件中。Java的工作原理Java的工作原理一个Java程序的编译和执行过程如图3-1所示。首先Java源程序需要通过Java编译器编译成扩展名为.class的字节码文件,然后由Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码并执行。小节安排Java程序设计基础

3.1、Java产生的历史与现状2.2、开发环境的搭建

3.2、

Java的特点

3.5、面向对象程序设计

3.3、Java的工作原理

3.5、面向对象程序设计

3.5、面向对象程序设计

3.6、面向对象应用综合开发实例

3.5、面向对象程序设计

3.4、

Java基础语法

3.2、

Java的特点

Java输入和输出方式Java基础语法字符界面下的输入输出方法1.输入方法格式:System.in.read();功能:该方法的功能是从键盘上接受一个字符,按照byte类型的数据处理。若将它转换为字符型,它就是字符本身;若转换为整型,它是扩展字符的ASCII码值(0~255)。2.输出方法格式1:System.out.print(表达式);格式2:System.out.println(表达式);功能:在屏幕上输出表达式的值。这两个方法都是最常用的方法,两个方法之间的差别是,格式1输出表达式的值后不换行,格式2在输出表达式的值后换行。标识符和关键字Java基础语法用户标识符是程序员对程序中的各个元素加以命名时使用的命名记号。在Java语言中,标识符是以字母、下划线(”_”)或美元符(”$”)开始,后面可以跟字母、下划线、美元符和数字的一个字符序列。例如:userName,User_Name,_sys_val,Name,name,$change等为合法的标识符。而:3mail,room#,#class为非法的标识符。注意:标识符中的字符是区分大小写。例如,Name和name被认为是两个不同的标识符。问题:是/不是标识符?myVariable9pinsMYVARIABLEia+ctesting1-2-3_myvariablejava¨MyVariable$myvariable_9pinsIt's标识符的习惯命名能表达明确意义的英文单词命名,并采用规范的单词缩写形式与单词分隔形式。表示常量时标识符全部用大写字母和下划线表示,如PI,SALES_TAX。表示类名或接口名时,标识符用大写字母开头,如CreditCard。表示变量名和方法名,以小写字母开头,单词之间不要有分隔符,第二及后面单词第一个字符用大写字母,如authorName。Java关键字具有特殊含义的字符序列例如:public、static和class

具有特殊用途,不能作为变量名、方法名和类名数据类型基本数据类型类型内容

默认值

内存空间

取值范围

boolean

true/false

false

8位

true或false

char

Unicode

\u0000

16位

\u0000~--\uFFFF

byte

整数

0

8位

-128~+127

short

整数

0

16位

-32768~+32767

int

整数

0

32位-2147483648~+2147483647

long

整数

0L

64位

-1000000000054775808~+1000000000054775807

float

浮点

0.0f

32位±3.40282347E+38~±1.40239846E-45

double

浮点

0.0d

64位±1.10000000000231570E+308~

±4.10000000000246544E-324变量和常量所谓常量就是在程序运行过程中保持不变的量即不能被程序改变的量,也把它称为最终量。常量可分为标识常量和直接常量(字面常量):1)标识常量标识常量使用一个标识符来替代一个常数值,其定义的一般格式为:final数据类型常量名=value[,常量名=value…];其中final是保留字,说明后边定义的是常量即最终量;数据类型是常量的数据类型,它可以是基本数据类型之一;常量名是标识符,它表示常数值value,在程序中凡是用到value值的地方均可用常量名标识符替代。例如:finaldoublePI=3.1415926;//定义了标识常量PI,其值为3.1415926注意:在程序中,为了区分常量标识符和变量标识符,常量标识符一般全部使用大写书写。2)直接常量(字面常量)直接常量就是直接出现在程序语句中的常量值,例如上边的3.1415926。直接常量也有数据类型,系统根据字面量识别,例如:21,45,789,1254,-254表示整型量;12L,123l,-145321L尾部加大写字母L或小写字母l表示该量是长整型量;456.12,-2546,987.235表示双精度浮点型量;4567.2145F,54678.2f尾部加大写字母F或小写字母f表示单精度浮点型量。Java常量Java常量包括基本数据类型常量、字符串(String)常量和null

布尔(boolean)常量只有两个:true

和false‘c’,‘\u0061’,‘\u0051’和‘\u005a’

是char常量.34是int常量1.5,45.6,76.4E8和-32.0是double常量34L是long常量.1.5F,45.6f,76.4E8F和-32.0F是float常量“HelloWorld!”是String常量null是引用数据类型的常量任意引用数据类型的常量(null)变量和常量2.变量变量是程序中的基本存储单元,在程序的运行过程中可以随时改变其存储单元的值。1)变量的定义变量的一般定义如下:数据类型变量名[=value][,变量名[=value]…];其中:数据类型表示后边定义变量的数据类型;变量名变量名,是一个标识符,应遵循标识符的命名规则。可以在说明变量的同时为变量赋初值。例如:intn1=456,n2=687;floatf1=3654.4f,f2=1.325fdoubled1=2145.2;

变量的四个要素变量名:程序通过变量名访问变量的值。变量类型:变量类型由程序员显式地声明,类型决定了变量对应存储区域的大小以及如何解释存储在其中的二进制串。存储单元:一个变量与内存中某一区域相关联,存储单元即指该区域的起始地址。值:变量对应的内存区域中存放的数据即为变量的值。在程序运行的不同时刻,变量的值可能不同。名字类型值存储单元变量在内存中的存储方式int

ID=42889;Strings=“HelloWorld!”;42889IDE3FA08C1S栈HelloWorld!”;String堆Java变量必须属于某种类型变量值也必须与变量类型相匹配例如:intstudentNumber; //声明单个变量doublevelocity,distance; //声明多个变量studentNumber=30; //给变量赋以整数30intstudentNumber=30;//声明变量,并赋初值Java运算符和表达式

运算符和表达式是构成程序语句的要素,必须切实掌握灵活运用,Java提供了多种运算符,分别用于不同运算处理。表达式是由操作数(变量或常量)和运算符按一定的语法形式组成的符号序列,一个常量或一个变量名是最简单的表达式。表达式是可以计算值的运算式,一个表达式有确定类型的值。Java运算符和表达式

运算符和表达式是构成程序语句的要素,必须切实掌握灵活运用,Java提供了多种运算符,分别用于不同运算处理。表达式是由操作数(变量或常量)和运算符按一定的语法形式组成的符号序列,一个常量或一个变量名是最简单的表达式。表达式是可以计算值的运算式,一个表达式有确定类型的值。1、算术运算符算术运算符包括:+,-,*,/,++,--,%没有指数运算

Math.pow(2.0,3.0);//2.03.0整数除法:截去余数

7/5结果为1取模:返回余数

7%5结果为21、算术运算符publicclassIncrementDecrement{ publicstaticvoidmain(String[]args){ inti=0;System.out.println(i++); System.out.println(++i);System.out.println(i--); System.out.println(--i); }}1、算术运算符publicclassIncrementDecrement2{ publicstaticvoidmain(String[]args){ inti=0;i++; System.out.println(i);++i;System.out.println(i);i--;System.out.println(i);--i; System.out.println(i); }}2、关系运算符六个关系运算符:<、>、<=、>=、==和!=例如: 1>2;//false 3.5!=1;//true 51.5>=23.0;//true 540<=654;//true 24==3*8;//true

booleanisEqual=(10<10);//isEqual=false;关系运算符的注意事项<、>、<=和>=只能用来比较两个数值类型数据的大小不能用于String、boolean、array或其他类型若有两个变量x与y要比较是否相等,应该是写成x==y,而不是写成x=y,后者的作用是将y的值指定给x,而不是比较x与y是否相等。对于对象来说,两个对象参考之间使用==作比较时,是比较其名称是否参考至同一对象,而不是比较其内容。关系运算符的注意事项Stringstr1=newString(“welcome”);//创建一个对象,初始化Stringstr2=newString(“welcome”);//创建一个对象,初始化Stringstr3=str1;

//创建一个对象,并利用对象str1的地址赋值str1==str2//falsestr1==str3//true3、布尔逻辑运算符六个布尔逻辑运算符:

& (逻辑与,AND)

| (逻辑或,OR)

^ (逻辑异或,XOR)

!

(逻辑非,NOT)

&& (短路与,AND)

|| (短路或,OR)3、布尔逻辑运算符(短路示例)例如,下面的程序语句说明了短路逻辑运算符的优点,用它来防止被0除的错误:if(denom!=0&&num/denom>10)

例如,考虑下面的语句:if(c==1&e++<100)d=100;这里,使用标准AND运算符(单个的&)来保证不论c是否等于1,e都被自增量。

4、位运算符位运算符包括:&、|、~、^、>>、>>>和<<>>

带符号右移<<

左移>>>不带符号右移移位操作是:先将整数写成二进制形式,然后按位操作,最后产生一个新的数P37实例注意:只用于整数5、赋值类运算符赋值类运算符包括:=、+=、-=、*=、/=、&=、|=、%=、<<=、>>=和>>>=op1=op1二元运算符op2;等价于op1二元运算符=op2;例如:a=a+b;等价于a+=b;5、赋值类运算符赋值运算符范例结果+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b&=a&=ba=a&b|=a|=ba=a|b^=a^=ba=a^b<<=a<<=ba=a<<b>>=a>>=ba=a>>b6、条件运算符条件运算符“?:”的表达式形式为“op1

?

op2

:

op3”op1:布尔表达式:op1值为true,条件运算结果取op2的值。op1值为false,条件运算结果取op3的值。例如:inti=5;intk=((i>=0)?

1:-1);得出k值为17、其他运算符其他运算符包括:(类型)、.、[]、()、instanceof和new例如:Stringstr1=newString(“welcome”);charc=(char)a;运算符优先级一元后缀[].()++--一元前缀++--+=~!创建和强制类型转换new(type)倍数*/%增量+-移位<<>>>>>关系<>>=<=instanceof等价==!=与&异或^或|布尔与&&布尔或||条件?:赋值=+=-=*=/=%=>>=<<=>>>=&=^=|=小节安排Java程序设计基础

3.1、Java产生的历史与现状2.2、开发环境的搭建

3.2、

Java的特点

3.5、面向对象程序设计

3.3、Java的工作原理

3.5、面向对象程序设计

3.5、面向对象程序设计

3.6、面向对象应用综合开发实例

3.5、面向对象程序设计

3.4、

Java基础语法

3.2、

Java的特点

面向对象程序设计什么是面向对象面向对象的方法将系统看作是现实世界对象的集合,在现实世界中包含被归类的对象。如前所述,面向对象系统是以类为基础的,我们把一系列具有共同属性和行为的对象划归为一类。属性代表类的特性,行为代表有类完成的操作。例如:例如汽车类定义了汽车必须有属性:车轮个数、颜色、型号、发动机的能量等;类的行为有:启动、行驶、加速、停止等。对象是类的一个实例,它展示了类的属性和行为。例如,李经理的那辆红旗牌轿车就是汽车类的一个对象。面向对象技术基础

对象是客观世界中的某个具体事物,对象的概念是面向对象技术的核心。面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现,它可以是有形的,也可以是无形的。比如:电视是一个具体存在的,拥有外形、尺寸、颜色等外部特性(或称属性)和开、关、设置等功能的实体。对象的基本概念从程序设计的角度来看,事务的属性或特性可以用变量来表示,行为或功能则用方法来反映面向对象的程序设计方法就是将客观事物抽象成为“类”,并通过类的“继承”实现软件的可扩充性和可重用性类(class)类是同种对象的集合与抽象。在面向对象的程序设计中,定义类的概念来表述同种对象的公共属性和特点。类是一种抽象的数据类型,它是具有一定共性的对象的抽象,而属于类的某一对象则被称为是类的一个实例,是类的一次实例化的结果。用面向对象程序设计解决实际问题的基本思想首先将实际存在的实体抽象成概念世界的抽象数据类型,这个抽象数据类型里面包括了实体中与需要解决的问题相关的数据和属性;然后再用面向对象的工具,如java语言,将这个抽象数据类型用计算机逻辑表达出来,即构造计算机能够理解和处理的类;最后将类实例化就得到了现实世界实体的面向对象的映射——对象,在程序中对对象进行操作,就可以模拟现实世界中的实体上的问题并解决之。对象、实体与类关系图抽象数据类概念世界实体现实世界对象类计算机逻辑的实现映射面向对象的特性

1)抽象所谓抽象就是不同的角色站在不同的角度观察世界。比如,当你购买电视机时,站在使用的角度,你所关注的是电视机的品牌、外观及功能等等。然而,对于电视机的维修人员来说,站在维修的角度,他们所关注的是电视机的内部,各部分元器件的组成及工作原理等。其实,所有编程语言的最终目的都是提供一种“抽象”方法。在早期的程序设语言中,一般把所有问题都归纳为列表或算法,其中一部分是面向基于“强制”的编程,而另一部分是专为处理图形符号设计的。每种方法都有自己特殊的用途,只适合解决某一类的问题。面向对象的程序设计可以根据问题来描述问题,不必受限于特定类型的问题。我们将问题空间中的元素称之为“对象”,在处理一个问题时,如果需要一些在问题空间没有的其他对象,则可通过添加新的对象类型与处理的问题相配合,这无疑是一种更加灵活、更加强大的语言抽象方法。面向对象的特性

2)继承继承提供了一种有助于我们概括出不同类中共同属性和行为的机制,并可由此派生出各个子类。例如,麻雀类是鸟类的一个子类,该类仅包含它所具有特定的属性和行为,其他的属性和行为可以从鸟类继承。我们把鸟类称之为父类(或基类),把由鸟类派生出的麻雀类称之为子类(或派生类)。在Java中,不允许类的多重继承(即子类从多个父类继承属性和行为),也就是说子类只允许有一个父类。父类派生多个子类,子类又可以派生多个子子类,…这样就构成了类的层次结构。面向对象的特性

3)封装封装提供了一种有助于我们向用户隐藏他们所不需要的属性和行为的机制,而只将用户可直接使用的那些属性和行为展示出来。例如,使用电视机的用户不需要了解电视机内部复杂工作的具体细节,他们只需要知道诸如:开、关、选台、调台等这些设置与操作就可以了。面向对象的特性

4)多态多态指的是对象在不同情况下具有不同表现的一种能力。例如,一台长虹牌电视机是电视机类的一个对象,根据模式设置的不同,它有不同的表现。若我们把它设置为静音模式,则它只播放画面不播放声音。在Java中通过方法的重载和覆盖来实现多态性。案例:学生成绩查询系统教师登录系统后可输入授课课程的成绩供学生查询,并可统计学生的平均成绩和各等级的学生人数;学生登录系统后可查询自己的各门课程成绩;系统分析(1):确定对象找出问题描述领域中的主要名词对象可能是:简单的或复杂的(如学生,课程)真实的或概念的(如课程成绩)对象有:属性操作(或功能行为)确定学生成绩查询系统中的对象学生成绩查询系统对象可能有学生教师JAVA程序设计课程Lee80John75Mark90Henry65Flank82成绩确定对象属性和操作属性:是对象的特征,属性知道某些事情。可以是数据或对象对学生对象来说,可能包括学号和选修课程操作:是对象执行的动作,操作根据所知道的来做某些事情。可以是对象做出的或施加给对象的动作,往往会影响对象的属性对教师对象来说,可能是上报成绩和修改成绩学生成绩查询系统案例研究中的对象可能的属性和操作学生属性有姓名、性别、学号、班级、专业、院系、学校、登录名和密码等操作有登录、查询成绩和聊天等教师属性有姓名、性别、工号、院系、学校、登录名和密码等操作有登录、上报成绩、统计成绩、查询成绩、修改成绩等学生成绩查询系统案例研究中的对象可能的属性和操作(续)课程属性课程名、课程编号、学时、学分、学期、授课教师和选修学生等操作有设置授课教师、获取授课教师、设置选修学生和获取选修学生等成绩属性有课程、学生和分数等操作有设置课程编号、获取课程编号、设置学生编号、获取学生编号、设置分数和获取分数等为对象建模CoursenamecourseIDtermclassHourcreditHourteacherstudentssetTeacher()getTeacher()setStudent()getStudent()ScorecourseIDstudentIDscoressetScore()getScore()setStudentIDgetStudentIDsetCourseIDgetCourseIDStudentnamexingbiestuIDclassnamemajorcollegeSchoolloginNamepasswordlogin()searchScore()chat()TeachernamexingbieteacherIDcollegeSchoolloginNamepasswordlogin()reportScore()statisticsScore()inquireScore()modifyScore()chat()对象属性功能类类的格式<类首声明>{<类主体>}类首声明定义类的名字、访问权限以及与其它类的关系等。类主体定义类的成员,包括变量(数据)和方法(行为)类首声明Java的程序代码一般都写在类中。类的开始和结束用“{}”来标示。一个Java程序可能由多个类构成。Java程序的基本要素publicclassTriangle{doublelength=10.0;doubleheight=5.0;doublearea(){returnlength*height/2.0;}publicstaticvoidmain(Stringargs[]){doubles;s=(newTriangle()).area();System.out.println(“该三角形的面积是:"+s);}}

类首声明[<修饰符>]class<类名>[extends<超类名>][implements<接口名>]

class:类定义的关键字;extends:表示类和另外一些类(超类)的继承关系;implements:表示类实现了某些接口;修饰符:表示类访问权限(public、缺省方式等)和一些其它特性(abstract、final等);一个类可以同时有多个修饰符(任意排序),但不能有相同的修饰符。类的修饰符缺省方式:class没有修饰符,只能被同一个包名中的类访问public:能被所有的类访问abstract:修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。

final:不能被继承,即类不能有子类

类主体<类首声明>{//类首,以下为类主体<成员变量的声明><成员方法的声明及实现>}成员变量即类的数据,反映了类的属性和状态。成员方法即类的行为(对数据的操作)成员方法可以是普通方法、构造方法、main方法定义变量的语句,变量用于存放数据。由于数据有相应的类型,所以存放数据的变量也要规定类型。Java程序的基本要素publicclassTriangle{

double

length=10.0;

double

height=5.0;doublearea(){returnlength*height/2.0;}publicstaticvoidmain(Stringargs[]){

double

s;s=(newTriangle()).area();System.out.println(“该三角形的面积是:"+s);}}Java程序的基本要素方法方法用来对数据进行处理,从而实现程序的功能。方法名后面都有括号,括号中可能包括参数。方法的开始和结束也用“{}”来标示。方法中通常包含一个命令序列。java程序是从main方法开始执行的。包括main方法的类叫做主类。publicclassTriangle{doublelength=10.0;doubleheight=5.0;doublearea()

{returnlength*height/2.0;

}publicstaticvoidmain(Stringargs[])

{doubles;s=(newTriangle()).area();System.out.println(“该三角形的面积是:"+s);

}}公共类关键字public表明所定义的类是一个公共类一个java文件可以包含多个类,但最多只能包含一个公共类,而且这个公共类必须与其所在的文件同名例如:publicclassJ_HelloJava文件名命名为J_HelloJava.java例:声明一个学生类publicclassStudent{ Stringname; charxingbie; intstuID;publicStudent(){}publicStudent(StringstuName,charxingbie,intstuID){name=stuName;this.xingbie=xingbie;this.stuID=stuID;

} publicvoidsetName(StringstuName){ name=stuName; } publicvoidsetxingbie(charxingbie){ this.xingbie=xingbie; } publicvoidsetStuID(intstuID){ this.stuID=stuID; }}[<修饰符>][static][final][transient]<变量类型><变量名>static:表示是一个类成员变量(静态变量);final:表示是一个常量(最终成员变量);例:finaldoublePI=3.1415926;transient:表示一个临时变量修饰符:表示变量的访问权限(缺省访问、public、protected和private)作用域:整个类。

成员变量的声明格式[<修饰符>]<返回类型><方法名>([<参数列表>])[throws<异常类>]{方法体}修饰符:方法的访问权限(缺省的、public、protected和private)static:类方法(静态方法);abstract:抽象方法(无方法体的方法);final:最终方法(不能被子类改变)。throws:表示抛出异常成员方法的声明格式构造方法类的构造方法是一种特殊方法,作用是在创建对象时Java系统调用构造方法去初始化新建对象的成员变量;例:Students1=newStudent(“张三”,’男’,20080301);如果没有自定义构造方法,则Java调用类的默认构造方法。Java将使用缺省值来初始化成员变量。例:Students2=newStudent();构造方法的特性类的构造方法名必须和类名相同;构造方法没有返回值(在构造方法名字前连void也不要加);可以有public,protected,private等任何访问的修饰词或没有修饰。但不能有以下非访问性质的修饰:abstract,final,native,static或synchronized。对象

我们已经定义了公民(Citizen)类,但它只是从“人”类中抽象出来的模板,要处理一个公民的具体信息,必须按这个模板构造出一个具体的人来,他就是Citizen类的一个实例,也称作对象。对象创建对象的两种方式:(1)先声明对象,然

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论