L/O/G/O王昕信息技术学院面向对象程序设计课程概述•一、课程概述(一)课程学时与学分课程代码:,信息管理与信息系统专业(含电子商务方向),第5学期开课。课程总学时64学时,3学分。•(二)课程性质《面向对象程序设计》课程是信息管理与信息系统专业本科生必修的一门专业基础课程,是为满足计算机应用领域对计算机应用人才的需要而设置的。通过该课程的学习,使学生理解掌握面向对象程序设计的基本概念和方法,并学会用当前流行的程序设计语言Java进行面向对象的程序设计,也为后续课程的学习打下必要基础。2•(三)教学目的通过学习《面向对象程序设计》课程,使学生掌握面向对象程序设计的基本概念和基本原理,熟练掌握一些常用的面向对象程序设计实用开发方法和技术;了解面向对象程序设计各领域的发展方向;掌握如何用面向对象技术与方法开发软件项目,以及可视化程序设计方法、事件驱动方法与面向过程程序设计方法的异同;能够利用所学知识去解决一些实际的应用问题。•(四)本课程与其它课程的联系与分工《面向对象程序设计》课程的先导课为《程序设计语言》、《数据结构》、《计算机网络》等相关的专业课。学生必须在修完上述课程,具备程序设计的基础知识及数据结构、计算机网络等相关知识,具有一定的程序设计思想之后,才能更好地完成本门课程的学习。3考试方案•笔试(闭卷),卷面分100分,折合70分。•作业5分,课堂表现5分。•实验20分。以上共计100分。4课程内容•(一)Java概述•(二)Java语言基础•(三)Java的类和面向对象编程思想•(四)Java异常•(五)Java基本类库的使用•(六)GUI编程•(七)多线程•(八)输入输出流•(九)网络编程5L/O/G/OJava语言概述第一章目标•了解Java的特点和优点•了解Java的运行机制•了解Java程序的基本结构•掌握如何编译和运行Java程序7发展史•1990年Sun公司的JamesGosling等人开始开发名称为Oak的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器。•1993年交互式电视和PDA市场开始滑坡,而Internet正处于增长时期,因此Sun公司将目标市场转向Internet应用程序。•1994年将Oak语言更名为Java。•1995年Sun公司的HotJava浏览器问世。•2010年10月24日Oracle公司以74亿美元收购Sun公司,Java也随之成为Oracle公司的产品。8(1.5)Tiger老虎2004-10JavaSE6.0(1.6)Mustang野马2006-04JavaSE7.02011-079的应用领域•一、互联网领域互联网领域第一大动态语言是PHP,第二、第三分别是ASP和Java。在中小型互联网应用当中,PHP的王者地位不容动摇,LAMP(Linux,Apache,MySQL,PHP/Perl)组合非常流行,但在大型应用当中,Java是目前主流的选择,特别是电子商务类型的应用,例如阿里巴巴、易趣网。1、中小型互联网网站强调开发速度,维护成本,以及入门快速和部署成本,PHP是最合适的选择;用Java则显得过于笨拙,开发慢,维护成本高,入门周期长,部署麻烦。2、大中型互联网站强调稳定性,性能,大规模代码的组织能力,而开发效率则退居次要地位,有些应用如电子商务对事务有很高的要求,显然Java是最合适的选择;PHP的代码组织能力较差。10的应用领域•二、企业应用领域目前企业应用领域第一大语言是Java,.net其次。Java语言相关的JavaEE规范里包含了时下最流行的各种软件工程理念及各种先进的设计思想,学精了Java语言的相关方面,相当于系统地学习了软件开发相关知识,而不仅仅是学完一门编程语言。目前,大部分银行、电信、证券、电子商务、电子政务等系统都已经采用JavaEE平台构建。在企业应用领域,Java是主流。国外基于JavaEE平台的系统有:eBay、GMail、Amazon、hi5.com和GoogleAdWords国内基于JavaEE平台的系统有:猫扑、网易邮箱、中国移动门户网站、淘宝、支付宝和易趣、ChinaRen、搜狐/新浪/网易的部分频道都是采用JavaEE技术构建。11的应用领域•三、移动应用领域Android(安卓)是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括中国台湾的HTC(第一台谷歌的手机G1由HTC生产代工)、韩国三星、美国摩托罗拉、索尼爱立信等,中国大陆厂商如:首派(A101、A100、A80、A60S及未上市的A70),魅族(M9),华为、中兴、联想、蓝魔、小米等。目前,Google收购摩托罗拉移动。12、Perl类型网站区别从技术的角度看:*用Php/Perl开发快且简单,而JavaEE相对复杂*作为Web网站开发LAMP稳定且流行,而JavaEE条条框框规范太多。*Php/Perl对Web系统来说几乎没有要求,JavaEE需要应用服务器。*从短期看,轻量级Web语言(Php/Perl)应对变化更加灵活(当然从长期看任何改变的花销都非常高)。*运行JavaEE的机器配置性能相对要比Php/Perl高。从财务的角度看:*Perl/Php开发成本比JavaEE便宜*Perl/Php学习曲线及上市时间比JavaEE更短*Perl/Php托管服务器要比JavaEE便宜无论从技术使用者还是财务的角度来看JavaEE,相比其他架构而言J2EE的门槛相对要高,需要开发者掌握的技能和开发环境的条件要高于现在流行的脚本语言架构。但是从另外2个角度上来看JavaEE:1.纯粹的商业、企业应用,例如:银行支付交易、电信计费。JavaEE有着不可动摇的地位。2.金融公司有大量预算并倾向于扩展硬件,而Web公司倾向于扩展软件。13,1983年以DB2的形式进入商业市场3.基因排序软件,美国基因组研究所(IGR)4.IBMSystem360系统5.Java语言6.Mosaic浏览器,第一款图形界面浏览器7.Sabre系统,美国航空公司的信息查询系统8.苹果Macintosh系统9.微软Excel电子表格10.阿波罗宇宙飞船导航系统11.Google搜索排名12.Morris蠕虫,造成的经济损失超过1000万美元•Java完全面向对象的编程语言。•Java可用来生成两类程序:应用程序、小应用程序(Applet)。•Java既是一种解释执行的语言,也是一种编译执行的语言。16•JavaSE:StandardEdition•JavaEE:EnterpriseEdition•JavaME:MircoEdition的基本特点•简单•面向对象•分布式18Java的风格类似于C++,因而对C++程序员而言非常容易掌握Java编程技术;Java摒弃了C++中容易引发程序错误的地方,如指针操作和内存管理;在Java中任何东西都是对象,因此,重点集中在数据以及应用程序中的数据操作方法。Java提供了包容广泛的例程库,可处理像HTTP和FTP这样的TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。的基本特点•健壮性•安全•体系结构中立•可移植性19Java语言提供的安全编译器提供的安全字节码校验器类加载器Java在编译和运行程序时都要对可能出现的问题进行检查它提供自动垃圾收集来进行内存管理面向对象的异常处理机制Java程序被编译成一种与体系结构无关的字节代码只要安装了Java运行时系统Java程序可以在任意的处理器上运行源代码级目标代码级实时编译器•使用“实时(JustInTime)”编译器,也称为JIT编译器。可以提高Java代码的执行速度。•SUN公司在Java2发行版中提供了JIT编译器,JIT编译器是Java虚拟机的一部分。•JIT的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。23(源代码).class(字节码)运行时类加载器字节码校验器解释器JIT代码生成器硬件网络的编辑环境•JDK是有助于程序员开发Java程序的Java开发工具包包括:–类库–编译器–调试器–Java运行时环境(JRE)–提供的常用工具•javac是用来编译源代码的命令。•java是用于执行类文件的命令,而类文件将在Java虚拟机中运行类。•appletviewer命令允许在万维网浏览器的环境之外运行Applet。27程序//这是名称为“HelloWorld.java”的简单程序importjava.io.*;classHelloWorld{publicstaticvoidmain(Stringargs[]){System.o