java知识点缀
baitiandeye
这个作者很懒,什么都没留下…
展开
-
依赖注入,控制反转,面向切片的运用!
1.定义个逻辑接口package com.logic;public interface ILogic { int add(int min,int max);}2.实现逻辑接口package com.logic;public class MyLogic implements ILogic { public int add(int min, int max) { return min+max; } }3.定义一个附加功能接口类packag原创 2010-07-28 17:36:00 · 1043 阅读 · 0 评论 -
文件读取
1.文件过滤public class FileTest { public static void main(String[] args) { File file = new File("."); String[] namelist = file.list(new MyFilenameFilter()); for(String name:namelist){ System.out.println(name); } }}//实现自己的实现类class MyFi原创 2010-09-14 16:42:00 · 417 阅读 · 0 评论 -
输入、输出文件函数
1.BufferedReader 由于BufferedReader具有一个readerLine方法,可以非常方便地一次读入一行内容,所以经常把读取的文本内容输入流包装成BufferedReader,用以方便地读取输入流的文本内容。public class PrintStream { public static void main(String[] args) { BufferedReader br = null; //将System.in对象转换成Reader对象 InputStr原创 2010-09-19 17:20:00 · 556 阅读 · 0 评论 -
对象的序列化和反序列化
<br />1.对象序列化<br />a.创建一个ObjectOutputStream,这个输出流是一个处理流,所以必须建立在其它节点流的基础之上<br />b.调用ObjectOutStream对象的writeObject()方法输出可序列化对象。<br />一个实例如下<br />首先建立一个person类<br /> <br />import java.io.Serializable;public class Person implements Serializable{ private原创 2010-09-20 11:00:00 · 549 阅读 · 0 评论 -
深入浅出单实例Singleton设计模式
来源:http://blog.csdn.net/haoel/archive/2009/03/26/4028232.aspx深入浅出单实例Singleton设计模式<br />陈皓前序<br />单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当转载 2010-09-20 14:53:00 · 580 阅读 · 0 评论 -
多态
<br />基类:BaseClass<br />子类:SubClass<br />当把一个子类对象直接赋给父类引用变量,例如上面的BaseClass p = newSubClass();这个p引用变量的编译时类型是BaseClass,而运行时类型是SubClass,当运行时调用该引用变量的方法时,其方法行为总是像子类方法的行为,而不像父类方法行为,这将出现相同类型的变量、执行同一个方法时呈现出不同的行为特征,这就是多态。原创 2010-12-30 13:59:00 · 514 阅读 · 0 评论 -
外部类 调用内部类
<br /> 在外部类以外的地方来定义内部类(包括静态和非静态两种)变量的语法格式如下:<br />OuterClass.InnerClass varName<br /> 从上面的语法可以看出:在外部类以外的地方使用内部类时,内部类完整的类名应该<br />OuterClass.InnerClass。当然如果外部类有包名,则还应该增加包名前缀。<br /> 因为非静态内部类的对象必须寄存在外部类的对象里,因此创建非静态内部类对象之前,必须先<br />创建其外部类的对象。在外部类以为的地方原创 2010-12-31 17:19:00 · 761 阅读 · 0 评论 -
接口
<br />接口定义的是一种规范,因此接口里不能包含构造器和初始化块定义。接口里可以包含属性(只能是常量)、方法(只能是抽象实例方法)、内部类(包括内部接口)和枚举定义。原创 2010-12-31 14:30:00 · 421 阅读 · 0 评论 -
匿名内部类
匿名内部类 匿名内部类适合创建那种只需要一次使用的类,例如命令模式时所需要的Command对象。匿名内部类的语法有点奇怪,创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用。 定义匿名内部类的格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 从上面定义可以看出,匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口。 关于匿名内部类还有如下两条规则: 1)匿名内部类不能是抽象类,因为系统在创原创 2011-01-04 16:01:00 · 1582 阅读 · 1 评论 -
异常注意事项
<br /> <br />除非在try块、catch块中调用了突出虚拟机的方法:System.exit(1)方法,否则不管在try块,catch块中执行怎么样的代码,出现怎么样的情况,异常处理的finally总会被执行<br />通常情况下,不要在finally块中使用如return或他thow等方法终止的语句,否则会使try或者catch中的return或thow语句失效。原创 2010-09-14 16:48:00 · 402 阅读 · 0 评论 -
常用集合类线程同步安全
<br />Collection collection = Collections.synchronizedCollection(new ArrayList());<br />List list = Collections.synchronizedList(new ArrayList());<br />Set eSet = Collections.synchronizedSet(new HashSet());<br />Map map = Collections.synchronizedMap(new H原创 2010-09-14 16:37:00 · 498 阅读 · 0 评论 -
Properties文件读取
<br />public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream (new FileInputStream(filePath)); props.load(in); String value =原创 2010-07-27 22:27:00 · 473 阅读 · 0 评论 -
反射的基本用法简例!
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 。 例子:首先先建一测试类代码如下:包和类名 com.test.MyTestpackage com.test;import com.sun.java_cup.internal.internal_error;public class MyTest { private int num; public int g原创 2010-07-27 22:21:00 · 443 阅读 · 0 评论 -
用DOM4j 对.XML文件解析方法
<br />1.首先我们自定义个xml文件名字为:data_10k.xml<br /><RESULT><user name="张三"> <NO>A1234</NO> <ADDR>南京</ADDR> </user> <user name="李四"> <NO>B1234</NO> <ADDR>上海</ADDR> </user> </RESULT><br />2.我们用DOM4j对该xml文件进行解析(要导入dom4j-1.6.1.jar的包)<br />原创 2010-07-28 16:29:00 · 526 阅读 · 0 评论 -
java学习笔记
<br />1.形参长度可变的方法<br />在最后一个形参的类型后增加三点(...),但是一个方法最多只能有一个长度可以变化的形参。<br />public class TestDog {<br /> public static void test(int a,String...books) {<br /> for(String index:books){<br /> System.out.println(index);<br /> }<br /> System.out.println(a);<原创 2010-09-09 17:31:00 · 430 阅读 · 0 评论 -
Iterator迭代器
<br />public class TestCollection { public static void main(String[] args) { Collection books = new HashSet(); books.add("j2ee"); books.add("struts2"); Iterator hIterator = books.iterator(); while(hIterator.hasNext()){ String b = (St原创 2010-09-14 16:35:00 · 356 阅读 · 0 评论 -
线程
1.继承Thread创建进程package com;public class FirstThread extends Thread{ private int i; public void run() { for(;i原创 2010-09-14 16:46:00 · 378 阅读 · 0 评论 -
jdbc中调用存储过程
<br />//调用存储过程首先创建一个CallableStatment对象<br /> Connection conn = null;<br /> //存储过程 调用prepareCall函数,三个参数利用占位符,前两个传入参数,最后一个传出参数<br /> //x现在假设前两个为整型,如果不知道则用setObject()<br /> CallableStatement cstm = conn.prepareCall("{call add_pro(?,?,?)}");<br /> cstm.setInt(原创 2010-09-14 16:47:00 · 476 阅读 · 0 评论 -
hashmap例子
public class TestLinkedHashMap { public static void main(String[] args) { LinkedHashMap hhHashMap = new LinkedHashMap(); hhHashMap.put("语文", 80); hhHashMap.put("数学", 70); hhHashMap.put("英语", 80); hhHashMap.put("物理", 90); for(Object原创 2010-09-14 16:36:00 · 437 阅读 · 0 评论 -
矩阵的回旋打印
<br />package com;public class Count { public static void print(int count) { int is[][] = new int[count][count]; int i = 0; int c = count * count; // 横向坐标累加器 int j = 0; // 纵向坐标累加器 int k = 0;原创 2011-03-25 08:58:00 · 835 阅读 · 0 评论