2015复习(改) (4)解析

上传人:小** 文档编号:57661627 上传时间:2018-10-23 格式:PPT 页数:149 大小:1.36MB
返回 下载 相关 举报
2015复习(改) (4)解析_第1页
第1页 / 共149页
2015复习(改) (4)解析_第2页
第2页 / 共149页
2015复习(改) (4)解析_第3页
第3页 / 共149页
2015复习(改) (4)解析_第4页
第4页 / 共149页
2015复习(改) (4)解析_第5页
第5页 / 共149页
点击查看更多>>
资源描述

《2015复习(改) (4)解析》由会员分享,可在线阅读,更多相关《2015复习(改) (4)解析(149页珍藏版)》请在金锄头文库上搜索。

1、JAVA 语言与应用复习,课程介绍,选修课(2.5学分) 课程目的: 了解并掌握java编程技术 理解面向对象程序设计的思路和方法 掌握网络编程的基本技术 考核方式: 出勤 + 平时作业 30% 试卷成绩 70%,2,Java语言概述,Java环境,Java 源程序,编译,字节码 文件,Java 虚拟机,执行,Linux,Windows,Mac,4,Java2 家族,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。 J2SE (Standard) J2SE 包含那些构成Java语言核心的类。 比如:数据库连接、接口定义、输入/输出、网络编程

2、 J2EE (Enterprise) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。 比如:EJB、servlet、JSP、XML、事务控制 J2ME (Micro) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。 比如:呼机、智能卡、手机、PDA、机顶盒,5,Java语言的核心机制,Java语言包含三种核心机制:Java 虚拟机 垃圾收集机制 代码安全检测,6,Java 虚拟机(JVM) 在一台计算机上由软件或硬件模拟的计算机。Java虚拟机读取并处理经编译过的平台无关的字节码class文件。 Java编译器针对Java虚拟机产生class文件,因此是独

3、立于平台的。Java解释器负责将Java虚拟机的代码在特定的平台上运行。运行原理如图。,7,垃圾收集机制(Garbage collection) 在C/C+ 等语言中,由程序员负责回收无用内存。 Java语言解除了程序员回收无用内存空间的责任。它提供一种系统级线程跟踪存储空间的分配情况。 并在JVM的空闲时,检查并释放那些可被释放的存储器空间。垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。,8,代码安全性检测(Code Security) Java执行代码的时候,由JVM对运行的代码进行安全性检测,当进行一些非法操作的时候,比如修改一些系统设置的时候,JVM会发出警告。,

4、9,Java有那些特性? 面向对象 封装性、多态性、继承性、动态链接 操作平台无关性 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一致的,初值都是确定的,10,Java程序的几种类型,Application “Java应用”是可以独立运行的Java程序。 以main()方法作为程序入口 由Java解释器加载执行。,11,Applet 没有main()方法作为程序入口,不能独立运行 由浏览器或appletviewer加载执行。,Client 机,Server 机,Browser,网页,字节码,12,Servlet/JSP 是Java技术对CGI 编程的

5、解决方案。 是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求 和 在HTTP server上的数据库及其他应用程序之间的中间层程序。,13,J2SDK的主要功能,java/bin的目录下包含义下主要文件: Javac.exe: Java编译器, 用来将java程序编译成 Bytecode Java.exe: Java编译器,执行已经转换成Bytecode的 java应用程序. Javadoc.exe:文档生成器,创建HTML文件 jdb: Java调试器, 用来调试java程序 javap: 反编译,将类文件还原回方法和变量. Apple

6、tviewer.exe : Java解释器, 用来解释已经转换成Bytecode的java小应用程序.,14,知识点,Java程序3种类型 JDK常用命令 Java虚拟机,15,Java 编程基础,变量和数据类型 类和对象 重载方法和重写方法,16,基本数据类型,Java 共有八种基本数据类型: 四种整数类型(byte、short、int、long) 两种浮点数类型(float、double) 一种字符类型(char) 一种布尔类型(boolean),17,Java 中的数组,数组用来使用同一个变量名存储同样的类型的一组变量 Java 中的数组是这样申明的 语法: Datatype name_

7、of_array ; 例子(ArrayProblem.java): int array_1 ; int array_2 ;,18,数组,属于复杂数据类型 由类型相同的元素组成的有顺序的数据集合 数组是固定的不能扩展 可以存储基本数据类型或对象 通过数组名和下标可以访问各元素,19,java.lang 包,该包中包含的类是Java编程语言设计的基础 其中比较重要的类包括: Object封装类,类体系结构的根,封装基本数据类型,为基本数据类型建立对象表达式,20,java.util,java.util 包括了Java 语言中的一些低级的实用工具,比如:处理时间的Date 类、处理变长数组的 Vec

8、tor 类、实现栈的 Stack 类和实现杂凑表的HashTable类等,使用它们开发者可以更方便、快捷地编程。,21,知识点,概要 Java是严格区分大小写、完全面向对象的语言,类是程序的基本单位。 一个应用程序可以由多个源程序文件组成,扩展名为.java。 Java中的三种注释 一个文件中可定义若干个类,但最多只能定义一个public访问修饰的类,称该类为主类。 在主类中定义main()方法,22,知识点,标识符的命名规则 标识符的合法符号包括:字母、数字、下划线_及美元符号$。字母为大写或小写的英文字母,数字为09; 标识符的首字母必须为字母、下划线或美元符号,即数字不允许为标识符的首字

9、母; 标识符区分大小写; 标识符不允许与关键字相同,但允许关键字作为标识符的一部分; 标识符应遵循命名规范,如:类名的首字母大写、属性与方法名的首字母小写。,23,知识点,常量和变量、数据类型 数组 数组是具有相同类型的数据的集合,数组元素的类型可以使基本数据类型,也可以使类或接口; 使用数组名和下标可以唯一确定数组中的每个元素,数组下标的索引号从0开始,故最后一个元素的索引号应是(数组长度-1); 数组必须先经过声明和初始化后才能使用。使用new关键字动态初始化数组; 字符串类、Math类及其常用方法 数据类型转换 表达式中涉及不同类型的数据时,需要进行数据类型转换。类型转换包括:自动类型转

10、换和强制类型转换,24,控制结构,选择 if-else switch 循环 while do-while for,Java 支持下列控制结构:选择、循环、跳转,跳转 break continue,25,知识点,控制结构 控制结构包括:顺序结构、选择分支结构、循环结构、跳转结构。 选择分支结构:if-else、switch-case、 循环结构:while、do-while、for 跳转结构:break、continue,26,类和对象,目标,掌握如何创建类和构造对象 掌握方法的重载和重写 了解类的继承 了解包概念,28,Java 中的类,Java 中的一切都是对象。 所有的对象都来自类,类是用

11、户自己定义的或是系统内置的 。 类是对象的抽象结构,对象是类的物理实现。 当类建立完毕后,就可以用来建立实例或对象。,29,类的声明和new,String s = new String(“a string”); String s 是什么意思?,a string,s,一个字符串类的对象被创建,对象被初始化为 “a string”,内存空间被分配,一个能够指向字符串对象的引用(变量)被创建,变量s指向内容为“a string”的字符串对象,30,类的继承重载与重写方法,有两种类型的方法:重载方法和重写方法 重载方法是那些位于同一类中、同名但具有不同参数列表的方法。Overloading.java

12、重写方法是那些既存在于超类中又存在于子类中的方法。OverrideDemo.java,31,类的继承 super 与 this,“super”关键字用于指示父类对象 “this”关键字用于指示当前对象。,32,方法的参数,值传递(值拷贝):基本类型参数 地址传递(引用传递):抽象数据类型(引用类型),33,基本类型的值传递,3.14,3.14,A,B,0x2F,0x2F,A,B,引用类型的地址传递,34,包,在Java中,包主要有以下用途 : 包允许将类组合成较小的单元 有助于避免命名冲突 包允许在更广的范围内保护类、数据和方法 包可以是类、接口和子包的集合,35,构造函数,构造函数名称与类名

13、称相同 构造函数没有返回类型 其任务是在创建对象时初始化其内部状态,class Fruit boolean seedLess;boolean seasonal;float price;Fruit(boolean seed, boolean season, float p) seedLess = seed;seasonal = season;price = p; ,36,重载构造函数,Java 为每一个类自动提供缺省构造函数 缺省构造函数将成员变量的值初始化为缺省值 一旦创建了自己的构造函数,缺省的构造函数将不复存在。 重载构造函数提供了一组创建对象的方式,可以根据需要决定是否带初始参数。,pu

14、blic class constructOverload int x;constructOverload() x=0;System.out.println(“不带参数的构造函数“);constructOverload(int x)this.x=x;System.out.println(“带一个参数的构造函数“); ,37,extends关键字,extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name /类体 没有extends,默认父类为Object 只能有一个父类,即单继承 子类继承父类的全

15、部成员,注意,38,this关键字,public class PassTest int x;PassTest(int x) this.x=x;public void passingValue()System.out.println(“x 等于 “ +x); public static void main(String args) PassTest test = new PassTest(10);test.passingValue(); ,关键字 this 与对象关联 它用于指示当前对象,指明此对象的变量 x 应赋值为通过构造函数传递的自变量 x 的值。,39,super关键字,super关键字

16、用来解决如何直接访问或初始化从父类继承来的属性。 super有两种通用形式:调用父类的构造函数、用来访问被子类的成员覆盖的父类成员。 它用在对象的构造函数中,将构造细节通过继承链往上传递。 super()必须是在子类构造函数中的第一个执行语句。,40,类型转换,执行自动类型转换需要两个条件: 接受转换的两种类型是兼容的(所有数字类型) 目的类型数的范围比源类型的大(从int到float) 强制类型转换语句的通用格式如下: (目标类型)value,Undergraduate s1 = new Undergraduate(); Graduate s2=new Graduate(); Graduate s3=new Graduate(); Student x; x=s1; if (x instanceof Graduate)s3= (Graduate)x;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

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