2012年9月12日
摘要: 在Java中,哈希码代表对象的特征。 例如对象 String str1 = “aa”, str1.hashCode= 3104 String str2 = “bb”, str2.hashCode= 3106 String str3 = “aa”, str3.hashCode= 3104 根据HashCode由此可得出str1!=str2,str1==str3 哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。 下面给出几个常用的哈希码的算法。 ... 阅读全文
posted @ 2012-09-12 18:59 Adonstein 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。在Object类源码中是这样写的。public boolean equals(Object obj) { return (th 阅读全文
posted @ 2012-09-12 18:53 Adonstein 阅读(216) 评论(0) 推荐(0) 编辑
  2012年8月7日
摘要: 回调(又称为callback):可以理解为一个接口提供一些方法给其他类用,但同时其他类在调用它时,它又调用其他类给它的条件(重写)。单独一个随机访问文件类: RondomAccessFile类允许随机访问文件同时拥有读和写的功能。 其中方法: close(),read(),writer(),seek(),getFilePointer()这需要注意:这是在有seek()前提下。流:一.I/O 流(java 如何实现与外界数据的交流)流定义: 任何有能力产出数据的数据源对象或者有能力接收数据的数据源对象。他屏蔽了实际的I/O设备处理数据的细节。1.Input/Output:指跨越出了JVM 的边界 阅读全文
posted @ 2012-08-07 16:20 Adonstein 阅读(189) 评论(0) 推荐(0) 编辑
  2012年8月6日
摘要: 一个类要实现监听的步骤 a.实现相应的接口(Keytener/MouseListener/ActionListener/WindowListener) b.把接口的处理方法根据需要重新编写(override) c. 注册监听 d.设置监听的command,setActionCommand(),getActionCommand() 阅读全文
posted @ 2012-08-06 15:11 Adonstein 阅读(146) 评论(0) 推荐(0) 编辑
摘要: *绘图原理: Component类提供了两个和绘图相关最重要的方法 paint(Graphics g)绘制组件的外观 repaint()刷新组件的外观(展示动态)*当组件第一次在屏幕上显示的时候,程序会自动调用paint()方法*以下情况paint()会被调用 窗口最小化,再最大化 窗口的大小发生变化 repaint函数被调用*Graphics提供了各种绘制图形的方法: 画直线:drawLine(int x1,int y1,int x2,int y2); 画矩形边框:drawRect(int x,int y,int width,int height); 填充矩形:fillRect(int x, 阅读全文
posted @ 2012-08-06 08:24 Adonstein 阅读(715) 评论(0) 推荐(0) 编辑
  2012年8月4日
摘要: /* * 功能:金山词霸界面 */package com.test11;import java.awt.*;import javax.swing.*;public class Demo8_9 extends JFrame{ //定义组件 JSplitPane jsp; JList jli; JLabel jla; public static void main(String[] args) { // TODO Auto-generated method stub Demo8_9 demo8_9=new Demo8_9(); } public Demo8_9() { //创建组件 St... 阅读全文
posted @ 2012-08-04 10:39 Adonstein 阅读(121) 评论(0) 推荐(0) 编辑
  2012年8月3日
摘要: /* * 功能:多种布局管理器 */package com.test11;import java.awt.*;import javax.swing.*;public class Demo8_5 extends JFrame{ //定义组件 JPanel jp1,jp2; JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args) { // TODO Auto-generated method stub Demo8_5 demo8_5=new Demo8_5(); } //构造函数 public Demo8_.. 阅读全文
posted @ 2012-08-03 17:37 Adonstein 阅读(227) 评论(0) 推荐(0) 编辑
  2012年8月2日
摘要: 一,边界布局BorderLayout介绍 将容器简单的划分为东南西北中5个区域,中间区域最大。 注意事项: 1:不是五个部分都必须添加 2:中部组件会自动的调节大小 3:JFrame,JDialog默认布局管理就是BorderLayout*二,流式布局FlowLayout* 按照组件的添加次序将按钮组件(当然也可是别的组件)从左到右放置在容器中。* 当到达容器的边界时,组件将放置在下一行中。FlowLayout可以以左对齐,居中对齐,以右对齐的方式排列组件* 注意事项:* 1:不限制他所管理的组件大小,允许他们有最佳大小* 2:当容器被缩放时,组件的位置可能变化,但组件的大小不变。* 3:默认 阅读全文
posted @ 2012-08-02 23:14 Adonstein 阅读(1256) 评论(0) 推荐(0) 编辑
  2012年7月28日
摘要: 栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是... 阅读全文
posted @ 2012-07-28 10:51 Adonstein 阅读(201) 评论(0) 推荐(0) 编辑
  2012年7月26日
摘要: Eclipse6.0 代码提示(代码助手) 设置方法在MyEclipse6.0的快捷键中把我们习惯性使用的Alt+/进行代码自动补齐的快捷键改为了ctrl+空格,大家知道这是我们切换中英文输入法的 键,所以我们需要更改这个快捷键,方法如下: 1.选择MyEclipse6.0菜单栏中的Window->preferences; 2.选择General->keys; 3.在右侧中间的窗体中点击word completion后再点击remove binding,在下方的binding中随便输入一个快捷键; 4.然后选择Content Assist点击Removebinding,在bindi 阅读全文
posted @ 2012-07-26 21:08 Adonstein 阅读(410) 评论(0) 推荐(0) 编辑