1、Java中取消指针运算防止了内存泄露的可能性。Java中的引用其实就是指针。JAVA语言不支持C++友元方法或友类。
2、编写完java源代码后,首先将其编译为一种中间状态字的字节码,然后Java虚拟机上的解释器来解释执行,“一次编程,到处运行”,Java是文本文件,编辑代码。
3、Window系统对于DOS命令中字符大小写不敏感;Java编译器和解释器对大小写敏感;保存源文件时,文件名一定要和源文件中公开类的类名一致。
4、习惯上,变量名以小写字母开头,类名以大写字母开头,常量名中所有的字符均大写。
5、final常量:初始化后不再重新赋值,在类继承时不允许子类覆盖。
6、类实例化就成为对象。
7、类继承:继承父类的属性和方法(关键字extends)
定义抽象类:关键字abstract
类声明:P62 类成员:P63
8、Java接口中声明了一组抽象方法,它构成了实现该接口的不同类共同遵守的约定。在类的定义中可以用关键字implements来指定其实现的接口。
9、Java接口与类的重要区别:Java接口中不存在构建器。
10、包的作用(P105);Java中类的访问控制符(P77);操作符优先级(P38)
11、包的命名:网络域名的逆序 包的使用:关键字import
12、异常处理(P119.120.125):FileNotFoundException:代表文件未找到;SQLException:代表有关JDBC的异常;NullPointerException:表示试图引用null对象的方法或属性;IndexOutOfBoundException:表示数组越界的异常。
13、框架的默认关闭程序:f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
14、setIconImage用于设定框架的图标;setLocation用于设定框架在屏幕上的位置。
15、取得框架的内容窗格:Container contentPane=f.getContnetPane();
16、面板的默认布局管理器是FlowLayout。setBownds(x,y,w,h)设置x,y坐标以及宽和高
17、内容窗格的默认布局管理器是边框布局(BorderLayout)
18、网格布局(GridLayout)将容器划分为大小相同的网格。
19、网格袋布局(GridBagLayout)是最灵活,也是最复杂的布局管理器。
20、对话框 P180
showMessageDialog:消息对话框
showInputDialog:输入对话框
showConfirmDialog:确认对话框
showOptionDialog:选项对话框
21、类File有三种常用构建器:
File(String fileName)
File(String directory ,String fileName)
File(File directory ,String fileName)
22、位于java.io包中的类包含两组独立的类层次结构:一个用于读取字节,成为字节流;一个用于读写字符,称为字符流。区别在于它们处理数据的方式,字节流按字节(一个8位组)来处理。字节流(P243)字符流(P245)
23、System.in 表示系统标准输入流,指向键盘输入;System.out 表示系统标准输出流,指向屏幕输出;System.err 表示系统标准错误输出流,指向屏幕输出;
24、文件的读写工作包括三个步骤:①、打开文件输入流或输出流;②、文件读或写操作;③、关闭文件输入流或输出流;
25、定制线程类:①、继承线程类Thread;②、实现Runnable接口;
#约定俗成的命名规则#
1、类名首字母必须大写
2、方法和属性必须小写
3、由多个单词组成的类名或方法必须采用驼峰标识
如:类名:StudentAdmin 方法或属性:studentName
*Equal 匹配
*equalIgnoreCase 匹配时忽略大小写
*Indexof 包含
*getMetaDate 获取元数据
*精度转换
*面向对象三大特性:封装、继承、多态
*界面逻辑、业务逻辑、数据逻辑
*三层架构总结:
1、开发人员可以只关注整个结构中的其中某一层
2、可以很容易用新的实现来替换原有层次的实现
3、可以降低层与层之间的依赖
4、有利于标准化
5、利于各层逻辑的复用
第二篇:Java个人总结(仅供参考)
第一章
(1)了解J2SE、J2EE、J2ME
? J2SE(Java 2 Standard Edition):标准版
? 主要目的是为台式机和工作站提供一个开发和运行的平台。包括标
准的Java 2 SDK、工具、运行时环境和API,用Java程序设计语
言编写、部署和运行Applet和应用程序的开发人员,是桌面开发
和低端商务应用的解决方案。
? J2EE(Java 2 Enterprise Edition):企业版
? 主要目的是为企业计算提供一个应用服务器的运行和开发平台。
? J2EE本身是一个开放的标准,任何软件厂商都可以推出自己的符
合J2EE标准的产品,通过基于标准化模块组件和一整套的相关服
务能够自动处理应用程序行为的许多细节,从而大大简化了多层企
业应用程序的构造和部署。
? IBM、Oracle、BEA、HP等29家已经推出了自己的产品,其中尤
以BEA公司的WebLogic产品和IBM公司的WebSphare最为著名。
? J2ME(Java 2 Micro Edition):小型版
? 主要是面向消费电子产品,为消费电子产品提供一个Java的运行
平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行包
含高度优化的Java运行时环境,致力于电子消费产品和嵌入式设
备的解决方案。
(2)掌握Java环境变量的配置
? SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于
Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。对于Windows20xx、Windows20xx、Windows XP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮“环境变量”,添加如下的系统环境变量
第二章
(1)掌握Java的输入输出:
输入:Scanner类
输出:System.out类
Scanner scanner = new Scanner(System.in);
System.out.print("请输入分数: ");
int score = scanner.nextInt();
NumberFormat.getNumberInstance();// 数字格式
NumberFormat.getPercentInstance();// 百分比格式
NumberFormat.getCurrencyInstance();// 货币格式,这跟系统区域有关
(2)掌握数组(静态、动态两种方法初始化数组)
静态初始化 int intArray[]={1,2,3,4}; String stringArray[]={"abc", "How", "you"};
动态初始化 简单类型的数组int intArray[]; intArray = new int[5];
复合类型的数组String stringArray[ ]; String stringArray = new
String[3];
stringArray[0]= new String("How"); stringArray[1]= new
String("are");
stringArray[2]= new String("you");
二维数组静态int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
二维动态String s[ ][ ] = new String[2][ ]; s[0]= new String[2]; s[1]= new String[2];
s[0][0]= new String("Good"); s[0][1]= new String("Luck");
s[1][0]= new String("to"); s[1][1]= new String("You");
该部分为重点内容:
? 会出对程序题
? 会出针对数组的编程题(52页)
第三章 面向对象基础(重点)
(1)理解面向对象的基本特征(问答题)
? 封装
封装性就是把对象的属性和服务结合成一个独立的单位,并尽可能隐蔽对象的内部细节,包含两个含义:
1把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。
2信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障,只保留有限的对外接口使之与外部发生联系。
? 继承
特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。在Java 语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 ? 多态
对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:“几何图形”的“绘图”方法,“椭圆”和“多边形”都是“几何图”的子类,其“绘图”方法功能不同。
(2)掌握类的定义与使用
? 定义类、方法、字段
? 掌握类的定义中的各修饰符:public、private、protected、final、abstract
等
? 局部变量和成员变量的不同点(问答题)
1变量定义部分所定义的变量称为类的成员变量,在方法体中定义的变量和方法的参数被称为局部变量。成员变量在整个类内都有效,局部变量只在定义它的方法内有效。成员变量在整个类内都有效,局部变量只在定义它的方法内有效。
2成员变量又分为实例成员变量(简称实例变量)和类变量(也称静态变量),如果成员变量的类型前面加上关键字static,这样的成员变量称为类变量或静态变量。
3如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,也就是说,这个成员变量在这个方法内暂时失效。
成员变量和局部变量的共同之处
1成员变量和局部变量的类型都可以是Java中的任何一种数据类型,包括基本类型:整型、浮点型、字符型;引用类型:数组类型、对象。
2成员变量和局部变量的名字都必须符合标识符规定,名字如果使用拉丁字母,首写字母小写;如果多个单词组成,从第2个单词开始的其他单词的首写字母使用大写。
理解静态变量、静态成员变量、静态方法
类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变
量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。
但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。 ? 理解对象的生成
包括对象的声明、实例化和初始化三个步骤。一般格式为:
? 类名 对象名 = new 类名([参数]);
? 理解对象变量和对象关系
? 理解实例变量和类变量的关系
? 理解方法调用中的参数传递
当方法被调用时,如果方法有参数,参数必须要实例化,即参数变量必须有具体的值。在Java中,方法的所以参数都是“传值”的,也就是说,方法中的参数变量的值是调用者指定的值的副本。例如,如果向方法的int类型参数x传递一个值,那么参数x得到的值是传递值的副本。方法如果改变参数的值,不会影响向参数“传值”的变量的值
? 理解this关键字
? 理解包和import
包是将一些类聚集在一起的一个实体,是Java语言中有效管理类的一个机制。
package tom;
在编写程序时,除了自己编写类外,还经常需要使用Java提供的许多类,
这些类可能在不同的包中,使用import语句可以引入包中的类。
import java.awt.*;
第四章(继承、超类和子类)(编程———老师上课讲的课件)
(1)理解override(覆盖)overloa(重载)
方法重载是指在一个类中用同一个名字定义多个方法,每个方法
的参数必须不同,或者是参数的个数不同,或者是参数类型不同。
覆盖override,是指派生类中存在重新定义的函数,其函数名、参数列、 返回值类型必须同父类中的相对应被覆盖的函数严格一致,覆盖函数和 被覆盖函数只有函数体(花括号中的部分)不同,当派生类对象调用子 类中该同名函数时会自动调用子类中的覆盖版本,而不是父类中的被覆
盖函数版本,这种机制就叫做覆盖
(2)理解super关键字
(3)理解抽象类、抽象方法
Java语言中,用abstract 关键字来修饰一个类时,这个类叫做抽象类,用abstract 关键字来修饰一个方法时,这个方法叫做抽象方法
abstract class abstractClass{ …} //抽象类
abstract returnType abstractMethod([paramlist]) //抽象方法
? 抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的
类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。
? 在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以
abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。当一个方法为抽象方法时,意味着这个方法必须被子类的方法所重写,否则其子类的方法仍然是abstract的。
(4)理解接口的概念及使用
(5)理解内部类
内部类是在一个类的内部嵌套定义的类,它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义。
(6)理解匿名内部类
匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义。当一个内部类的类声名只是在创建此类对象时用了一次,而且要产生的新类需继承于一个已有的父类或实现一个接口,才能考虑用匿名类。由于匿名类本身无名,因此它也就不存在构造方法,它需要显示地调用一个无参的父类的构造方法,并且重写父类的方法。
(7)掌握定时器类
该部分一定出编程题:围绕继承、接口
第五章
(1) 掌握StringBuffer、Math类
可变字符串构造器,如频繁的修改字符串值,可以使用StringBuffer。 Math类是final的,不能被继承,类中的方法和属性全部是静态,不允
许在类的部创建Math类的对象。因此,只能使用Math类的方法而不
能对其作任何更改。
第八章(重点)
(1)掌握访问文件的流程
(2)掌握字节流
FileInputStream FileOutputStream
(3)随机存取文件RandomAccessFile(191)
(4)文本流
第九章(重点)
(1)理解异常处理机制
(2)异常的分类:Error,Exception(运行时异常,非运行时异常)
(3)如何处理异常(问答)
(1)捕获异常:
当Java运行环境得到一个异常对象时,它将会沿着方法的调用栈逐层回 溯,寻找处理这一异常的代码。找到能够处理这种类型的异常的方法后,
运行环境把当前异常对象交给这个方法进行处理,这一过程称为捕获
(catch)异常。这是积极的异常处理机制。如果Java运行环境找不到可 以捕获异常的方法,则运行环境将终止,相应的Java程序也将退出。
(2)声明抛弃异常:
如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明 抛弃(throws)异常。这是一种消极的异常处理机制。
(4)定义自己的异常(编程)(211)
@理解对象的生成
包括对象的声明、实例化和初始化三个步骤。一般格式为:
类名 对象名 = new
类名([参数]);
第三篇:科研训练个人总结
此次科研训练是以小组的方式以团队合作方式选择或自拟一个开发项目并根据指导教师所给的文档编写规范来进行一整套文档的编写,我们小组由4人组成并自拟的题目《基于Andriod平台的导游软件的设计与实现》,可以这么说这个系统一直是我们所关注的。
我在此次科研训练中读了不少关于导游系统的文献包括 《疯狂Android讲义 》 ;柯元旦 《Android内核剖析》 ;伯内特(Ed Burnette)、田俊静等 《Android基础教程(第3版)》杜延磊, 韩雨航.《基于Andriod平台的导游软件开发[J]》 贾文杰 孙志锋 JIA Wen-jie SUN Zhi-feng 《基于Android平台的智能导游系统[J]》 。从这些文献中我学到了不少以前没有接触或不熟悉的知识。
一 关于中国的智能手机:据CNNIC最近发布的《第31次中国互联网络发展状况统计报告》显示,截止20xx年x月底,我国网民规模达到5.64亿,较20xx年底增长3.8%。其中,手机网民数量为4.2亿,可以说普及范围相当大。
二 关于Android系统:新智能手机数量跃升至1.621亿部,大大超过去年同期的9030万部。这意味着,在运往世界各地的所有新智能手机中,谷歌的移动操作系统的市场占有率已经达到75%,现有的智能导游系统平台多种多样,主要有WinCE 和Linux.WinCE 的使用需要微软公司授权,实现成本很高; Android 系统本身是开源项目,源代码可以免费获取。另外Android操作系统基于Linux2. 6 内核,具备高稳定性和良好的移植性。应用程序开发语言为Java,具备良好的可扩展性,便于软件升级和维护。此外,Google 公司提供了Google API 来支持Android系统运行如Google maps 等应用,极大地方便了应用程序开发。所以我们选择在Android系统上开发本系统。
三 总结:本研究提出了一种基于Android平台的智能导游系统的设计和实现方案,分析了各个功能模块的设计和实现方法,该系统运行稳定,操作简单,能提供丰富的多媒体应用并具有良好的人机交互界面,在旅游业中有广泛的应用前景。另外,该系统还可以结合地理位置信息,实现自动选择相应的多媒体应用的文件,该功能有待进一步研究和实现。