JAVA总结资料.doc_第1页
JAVA总结资料.doc_第2页
JAVA总结资料.doc_第3页
JAVA总结资料.doc_第4页
JAVA总结资料.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、 Java的特点:面向对象,解释执行,多线程,代码校验机制;2、 开发与运行Java程序的步骤:编辑源程序、编译生成字节码、结识运行字节码3、 Java语言特点- (1) 面向对象(2)平台无关性(3)多线程(4)与C及C+的区别(5)垃圾回收机制(GC) (6) 可移植性(7) 分布性(8) 高性能(相对于其他解释型语言)(9) 健壮性。Java是一种半编译半解释的语言。4、 Java虚拟机 字节代码也就是Java虚拟机代码,它与具体的计算机处理器代码无关。 Java虚拟机(JVM,java virtual machine)是一个抽象的计算机处理器。由Java编译器产生的字节码文件(其扩展名为.class)就是在这个Java虚拟机上运行的目标程序。与某种具体的计算机处理器不同,Java虚拟机通常不是由硬件而是由软件实现的。这个软件就是Java解释器。Java虚拟机规范定义了: 指令集 寄存器集 类文件结构 堆栈 垃圾收集堆 内存区域 5、 垃圾回收机制(GC):(1)它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。垃圾收集在JAVA程序运行过程中自动运行。(2)垃圾收集器将在收集对象实例之前调用finalize方法。(3)即使显示调用垃圾收集System.gc()方法,也不能保证立即运行。(5)垃圾收集线程的运行优先级很低所以可能经常会被中断。5、包装类(wrapper class)常用的类、包和接口类: 类String Integer Long File Date包 java.lang.*;java.io.*;java.util.*;java.swt.*;java.math.*;接口: Comparable ,Connection,Map,List,Runable,6、静态成员与静态方法: 用static修饰符修饰的成员变量和方法成员,成为静态成员(类成员)。静态成员存储于类的存储区,属于整个类。 对静态成员的使用要注意以下两点: (1)静态方法不能访问属于某个对象的成员变量,而只能处理属于整个类的成员变量,即静态方法只能处理静态变量。 (2)可以用两种方式调用静态成员,它们的作用相同。 变量:类名.变量、类对象.变量 方法:类名.方法名()、类对象.方法()7、类成员:其中变量和方法称为类的成员。类的成员可以通过类或类实例访问或调用,而静态初始化块、实例初始化块和构造方法只能在类装入或实例创建时由系统隐含调用。8、is-a关系:is-a关系是特殊一般关系的具体体现,即一个特殊类型的个体同样是一个一般类型的个体。一个定义为类类型的变量可以拥有某个对象的引用值,这个对象是该类或者该类的任何子类的一个实例。“has-a”关系:即“整体”对象有一个“部分”对象;一个类中包含有一个引用类型的实例变量;类用于生成“整体”对象,引用变量指向“部分”对象。9、关键字super和this都表示当前对象的引用,不同的是: this的编译期类型为方法体所在的类,而super的对象接父类对象,是对直接父类对象的引用。this 表示的是当前对象本身,它实际代表了当前对象的一个引用。10、抽象类和抽象方法:1 抽象方法是只有返回值类型、方法名、方法参数而不定义方法体的一种方法。 2 抽象类是abstract修饰的类 。他一般含有抽象方法。3 抽象类需要子类继承,在子类中实现抽象类中的抽象方法。4 抽象方法必须定义在抽象类中。抽象类是一种未实现的类,抽象类不能用new实例化一个对象。5 抽象类含有构造方法。 抽象类接口定义成员变量定义常量定义成员方法定义抽象方法有构造方法没有构造方法 1 抽象类用extends来派生子类 接口用implements来实现(派生子类)2 抽象类与一般类一样,只能使用单继承 接口实现了多重继承相同:通过对抽象方法的覆盖来定义方法体。 11、StringBuffer类多线程ringBuffer型字符串是可更改的。 StringBuffer类中的方法侧重于字符的添加、插入、设置等更改操作。StringBuffer使用场合:对字符串频繁修改。String类包含一组重载的valueOf类方法,可以将各种类型的数据转换成字符串形式表示并返回。12、finally子句:起作用通常是释放资源;控制流不管以何种原因离开try语句,都要先执行finally子句。所以,可以将那些无论是否发生异常、异常无论是否被捕捉都需要执行的代码放置在finally子句内。抽象方法(abstract)是一种仅有方法头,没有将具体方法和操作实现的方法,该方法必须在抽象类之中定义。最终方法(final)是不能被当前类的子类重新定义的方法。13、线程的状态和生命周期:1.创建2.就绪3.运行4.阻塞5.终止14、多线程的概念:多任务(进程) 在同一时间内(不是同一时刻),多个进程(或程序)同时执行。多线程 在同一个进程(或程序)内,有多个线程在同一时间内同时执行。 15、容器(Container): 容器实际上是Component的子类,因此容器类对象本身也是一个组件,具有组件的所有性质,另外还具有容纳其它组件和容器的功能。容器类对象可使用方法add()添加组件。两种主要的容器类型: Window: 可自由停泊的顶级容器;Panel:可作为容器容纳其它组件,但不能独立存在,必须被添加到其它容器中(如Window或Applet)16、布局管理器: 为了使GUI具有良好的平台无关性,Java中提供了布局管理器这个工具来管理组件在容器中的布局,每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。FlowLayout ;BorderLayout 。17、容器、组件、布局的关系: 容器是能容纳其他组件的组件;组件是能与用户进行交互的对象,它一般以图形化方式出现;布局是指组件在容器中的大小、位置。18、事件的概念:在某一时刻发生的与软件系统有关的事情,在Java语言中抽象为一个类,用来创建不同的事件对象。事件监听器:能够接收、解析和处理事件类对象、实现和用户交互的方法委托模型(delegation):事件源组件将事件对象传播给一个或多个已注册的对此事件感兴趣的对象(监听器)。监听器包含事件处理器,这样事件处理器和事件源可以是分开的对象。19、事件处理的过程:1.确定产生的事件属于何种监听器类型;2.要用事件源的注册方法来注册一个监听器对象;3.监听器对象根据事件对象的内容决定适当的处理方式,即调用相应的事件处理方法,并在事件处理的方法体中编写代码。20、类的访问权限 访问级别访问位置private无修饰符protectedpublic同类 同包,子类 同包,非子类 不同包,子类 不同包,非子类 21、Java程序结构:package语句:零个或一个,必须放在程序的开始, 创建一个名为Mypackage包的语句为: package Mypackageimport语句:零个或多个,必须放在所有类定义之前Interface Definition:零个或多个 ;public ClassDefinition:零个或一个Class Definition:零个或多个22、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承该关系23、this 表示当前类;super 表示调用父类。在定义类的时候用到,this是当前对象的引用,super是当前对象的父类对象的引用,一般的都是把super用在构造函数中。24、Java开发工具包括:Javac:编译器,用来将java程序编译成Bytecode。Java: 解释器,执行已经转换成Bytecode的java应用程序。Jdb: 调试器, 用来调试java程序。Javap:反编译,将类文件还原回方法和变量。Javadoc:文档生成器,创建HTML文件。25、数据类型图26、Java语言基本元素标识符 Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。合法的标识符 identifier userName User_Name _sys_value $change非法的标识符 2mail room# class!字符型数据代表16位的Unicode字符!char c3 = 32; 用整数赋初值为空格27、接口的实现和抽象类相似,用派生类在实现接口 。比较:1 抽象类用extends来派生子类 接口用implements来实现(派生子类)2 抽象类与一般类一样,只能使用单继承 接口实现了多重继承相同:通过对抽象方法的覆盖来定义方法体28、String类StringBuffer类多线程ringBuffer型字符串是可更改的,String型字符串是不可更改的,StringBuilder是单线程。29、try-catch-finally语句 ,其语法格式: try /可能发生异常的代码 catch(异常类型1 变量) /异常的处理代码 catch(异常类型2 变量) /异常的处理代码 .finally /总是要执行的代码 其中,catch子句可以有多个,而且至少有一个catch子句或finally子句。常见的异常:数组下标越界 ;除数为零 ;内存溢出 ;件找不到等30、31、finally子句:起作用通常是释放资源;控制流不管以何种原因离开try语句,都要先执行finally子句。所以,可以将那些无论是否发生异常、异常无论是否被捕捉都需要执行的代码放置在finally子句内。32、数据从一个地方流到另外一个地方,这种数据流动的通道都可以称为数据流。 字节流的基类:抽象类InputStream和OutputStream字节流的输入输出操作由这两个类的子类实现。面向字节-8位。字符流:抽象类Reader和Writer,字符流的输入输出操作由这两个类的子类实现。 面向字符-16位。创建字节输入文件流FileInputStream类对象:FileInputStream类构造方法有:o FileInputStream(String name) FileInputStream(File file)33、图形用户界面设计GUI:图形用户界面是程序与用户交互的窗口GUI元素和成分:组件,容器,布局管理器34、数组创建:义语句只声明,未创建具体的数组对象。int ai; /ai只能存放数组对象为int型的引用值 创建的两种方式:1数组创建表达式int arr=new int5;1、枚举法(穷举法)“笨人之法”: 把所有可能的情况一一测试,筛选出符合条件的各种结果进行输出。【例一】百元买百鸡:用一百元钱买一百只鸡。已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。分析: 这是个不定方程三元一次方程组问题(三个变量,两个方程) xyz=100 5x3yz/3=100 设公鸡为x只,母鸡为y只,小鸡为z只。class Hundred public static void main(String arg) int x,y,z; for (x=0;x=100;x+) for (y=0;y=100;y+) z=100-x-y; if (5*x+3*y+z/3.0=100) System.out.println(cocks=+x+, +hens=+y+,+chickens=+z); 2、迭代法public class FibIterative static int fib(int n) int first = 1; int second = 1; int sum = first + second; int i = 2; while(+i n) first = second; second = sum; sum = first + second; return sum; public static void main(String args) System.out.println(f20= + fib(20); 3、累加型编程求11/2+1/31/4+1/5 +1/991/1001) class SumDemo 2) static float mySum(int n) 3) float k = 1f;4) float sum = 0.0f;5) for(int i=1;i0.0) balance = balance + dAmount; public void withdrawal(double dAmount) throws InsufficientFundsException /取钱 if( balancedAmout ) throw new InsufficientFundsException(this, dAmount); balance = balance-dAmount; public double getbalance() /获取余额 return balance; public class ExceptionDemo public sta

温馨提示

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

评论

0/150

提交评论