面向对象程序设计-JAVA 第一章 JAVA概述
计算机程序设计语言的发展阶段 第一代语言(1GL) : 二进制机器语言 第二代语言(2GL) : 汇编语言 第三代语言(3GL): 高级语言 第五代语言:(?)
面向过程程序设计 面向过程是指从功能的角度分析问题,将待解决的问题空间分解成若干个功能模块,每个功能模块描述一个操作的具体过程。结构化程序设计方法就是面向过程的一个典型代表。 面向过程编程将编写程序看成是一个逐步演化的过程。所谓自顶向下是指将分析问题的过程划分成若干个层次,每一个新的层次都是对上一个层次的细化,即步步深入,逐层细分。 程序设计=数据结构+算法
传统软件开发存在的问题 软件生产率低 软件重用程度低 软件维护艰辛
面向对象程序设计 面向对象(Object-Oriented,OO) 是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 面向对象程序设计中的概念主要包括:对象、类、抽象、继承、数据封装、多态性、消息传递等。
Java语言概述 Java是由美国Sun Microsystem公司(现已被甲骨文公司—Oracle收购)所开发的一种面向对象的程序设计语言,JAVA目前在手机上应用最多的就是JAVA游戏。 JAVA语言的初衷是用于开发面向家用电器时常的软件产品,最初的名字叫Oak(橡树),正式发布时更名为JAVA。 JAVA标志 SUN公司官方网址:http://www.sun.com
Java 语言的特点 简单 面向对象 安全性 平台无关 解释执行 多线程 动态性
JAVA与JAVA2 JAVA2实际指的是JAVA的版本,随着JDK版本的不断发展更新,JAVA的功能得到不断的完善,由于JDK1.2较JDK1.1版有了比较大的变化,因此人们习惯上把JDK1.2以后的版本都称为JAVA2,本质上JAVA2与JAVA没有区别。
JAVA的三个应用方向 J2SE(标准版) J2EE(企业版) J2ME(微缩版) J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但添加了一些专有类。
J2SE(标准版) J2SE(Java2 Standard Edition)包含那些构成Java语言核心的类。 如:数据库连接、接口定义、输入/输出、网络编程等。
J2EE(企业版) J2EE(Java2 Enterprise Edition)包含J2SE中的类,另外还包含用于开发企业级应用的类。更恰当的说,J2EE应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。 如:JSP、EJB、servlet、XML、事务控制
J2ME(微型版) J2ME(Micro Edition)包含J2SE中的一部分类,用于消费类小型电子产品的软件开发。 比如:呼机、智能卡、手机、PDA、机顶盒。 PDA是Personal Digital Assistant的缩写,字面意思是“个人数字助理”。 这种手持设备集中了计算,电话,传真,和网络等多种功能。它不仅可用来管理个人信息(如通讯录,计划等),更重要的是可以上网浏览,收发Email,可以发传真,甚至还可以当作手机来用。尤为重要的是,这些功能都可以通过无线方式实现。当然,并不是任何PDA都具备以上所有功能;即使具备,也可能由于缺乏相应的服务而不能实现。但可以预见,PDA发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。
对JAVA的常见误解 误解:JavaScript是JAVA的简易版本。 错误, JavaScript是嵌入在网页中的一种脚本语言,是由NetScape公司开发的,原名叫LiveScript,JAVA和JavaScript除了语法规则相近、名字相似之外,二者无任何关系。
JAVA程序 JAVA编写的程序有两种: JAVA Application(应用程序) JAVA Applet(小应用程序)
第一个JAVA Application 程序:hello.java public class hello { public static void main(String[] args) System.out.print("Hello,ABa Teacher's College!"); } 运行结果:
第一个JAVA Applet 程序:hello_app.java import java.awt.*; import java.applet.*; public class hello_app extends Applet { public void paint(Graphics g) g.drawString("你好,阿坝师专!",25,25); } 运行结果:
JAVA系统开发环境 JAVA程序开发工具: JDK (Java Development Kit) ,正式名称为J2SDK(Java2 Software Development Kit),JDK 是整个Java系统的核心,包括了Java运行环境,Java工具和Java基本的类库。 JDK可通过SUN公司官方网站免费下载。 http://www.sun.com
JDK的安装配置 点击运行下载的JDK安装程序,为了方便后面的路径设置,建议将安装目录更改为“D:\java\jdk\”,当然,安装目录也可以自己设定。 安装完毕后即可开始使用JDK进行JAVA开发。
JAVA程序的编辑和运行 JAVA Application JAVA Applet
JAVA Application的建立和运行-1 执行“开始菜单”—“程序”—“附件”—“命令提示符”进入命令提示符窗口。 在命令提示符下输入“path=d:\java\jdk\bin\”。(这一步的作用是不管当前目录是什么,我们都能够使用d:\java\jdk\bin\”目录下的javac.exe和java.exe这两个命令进行程序的编译和运行。) [注意]以上第2步是每次打开命令提示符进行java程序编译时都必不可少的。
JAVA Application的建立和运行-2 使用某种纯文本编辑器(如:记事本)建立如下java源文件,并将文件命名为“hello.java”(注意:必须为“hello.java”),保存到e:\根目录下。 public class hello { public static void main(String[] args) System.out.print(“你好,阿坝师专"); }
JAVA Application的建立和运行-3 在命令提示符下进入e:\根目录。 输入如下命令:javac hello.java,回车。 编译完毕后,输入如下命令:java hello,回车,屏幕上将会出现运行结果。
JAVA Applet的建立和运行-1 前两步与Application程序的操作相同。 使用某种纯文本编辑器(如:记事本)建立如下java源文件,并命名为“hello_app.java”(必须为“hello_app.java”),保存到e:\根目录下。 import java.awt.*; import java.applet.*; public class hello_app extends Applet { public void paint(Graphics g) g.drawString("你好,阿坝师专!",25,25); }
JAVA Applet的建立和运行-2 在命令提示符下进入e:\根目录。 输入如下命令:javac hello_app.java,回车。 同样在e:\根目录下新建一个html文件,用记事本打开,在里面输入如下代码: <html> <applet code="hello_app.class" width=300 height=100> </applet> </html> 然后保存,文件名为view.html。
JAVA Applet的建立和运行-3 打开这个网页文件即可看到程序效果(在命令提示符下输入appletviewer view.html也可看到程序效果)。 [注意]: 1、Applet必须嵌入到html网页中,且要有支持JAVA的浏览器,才能得到解释执行。 2、编译生成的class文件和建立的html文件必须在同一目录下。 3、appletviewer是applet小应用程序的浏览命令,后面跟html文件的完整文件名,如:appletviewer hello.html。
JAVA程序分析 程序中class为类定义符,class hello表示在该程序中建立一个名叫hello的类。 public称为访问修饰符,用于控制程序其他部分或其他程序对这个类的访问级别。 一个JAVA程序是由一个或多个类组成的;程序中可以没有public类,这种情况下可以使用程序中任意一个类的类名作为程序名;如果有public类,那么最多只能定义1个public类,且程序名必须与这个public类的名字相同。
JAVA2 SDK工具集常用命令说明 命令 功能 javac JAVA编译器,用于将JAVA源程序编译成字节码文件。 java appletviewer applet小应用程序浏览器,用于浏览JAVA applet程序。 javap JAVA类文件反汇编器 jdb JAVA调试器 javah C文件生成器,使用该命令可在JAVA类中调用C++代码。
JAVA虚拟机 JAVA虚拟机(Java Virtual Machine,JVM) 是可以运行Java代码的假想计算机,在实际计算机上通过软件模拟实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 为什么要使用Java虚拟机? Java语言的一个非常重要的特点就是平台无关性。而Java虚拟机则是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,就需要编译成不同的目标代码。JAVA语言引入Java虚拟机后,在不同平台上运行时不需要重新编译。Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。