20.数组列表:ArrayList动态数l列表,是一个类库,定义在java.uitl包中Q可自动调节数组的大?
21.classc?objectcM的getclassҎq回ckasscd的一个实例,E序启动时包含在mainҎ的类会被加蝲Q虚拟机要加载他需要的所有类Q每一个加载的c都要加载它需要的cR?
22.classcMؓ~写可动态操Ujava代码的程序提供了强大的功能反,q项功能为JavaBeans特别有用Q用反Java能支持VBE序员习惯用的工具?
能够分析c能力的E序叫反器QJava中提供此功能的包叫Java.lang.reflect反射机制十分强大?
1Q在q行时分析类的能力?
2Q在q行时探察类的对象?
3Q实现通用数组操纵代码?
4Q提供方法对象?
而此机制主要针对是工兯而不是应用及E序?
反射机制中的最重要的部分是允许你检查类的结?用到的API?
java.lang.reflect.Field q回字段?
java.reflect.Method q回Ҏ?
java.lang.reflect.Constructor q回参数?
Ҏ指针:java没有Ҏ指针Q把一个方法的地址传给另一个方法,可以在后面调用它Q而接口是更好的解x案?
23.接口(Interface)说明c该做什么而不指定如何dQ一个类可以实现一个或多个interface?
24.接口不是一个类Q而是对符合接口要求的cȝ一套规范?
若实C个接口需?个步?
1Q声明类需要实现的指定接口?
2Q提供接口中的所有方法的定义?
声明一个类实现一个接口需要用implements 关键?
class actionB implements Comparable 其actionb需要提供CompareToҎQ接口不是类Q不能用new实例化一个接口?
25.一个类只有一个超c,但一个类能实现多个接口。Java中的一个重要接口:Cloneable
26.接口和回?~程一个常用的模式是回调模式,在这U模式中你可以指定当一个特定时间发生时回调对象上的Ҏ?
?ActionListener 接口监听?
cM的API?
java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.对象clone:cloneҎ是object一个保护方法,q意味着你的代码不能单的调用它?
28.内部c?一个内部类的定义是定义在另一个内部的cR?
原因?
1Q一个内部类的对象能够访问创建它的对象的实现Q包括私有数据?
2Q对于同一个包中的其他cL_内部c能够隐藏v来?
3Q匿名内部类可以很方便的定义回调?
4Q用内部类可以非常方便的编写事仉动程序?
29.代理c?proxy):
1Q指定接口要求所有代?
2Qobjectcd义的所有的Ҏ(toString equals)
30.数据cd:Java是强调类型的语言Q每个变量都必须先申明它都类型,java中d?个基本类?4U是整型Q?U是点型,一U是字符型,被用于Unicode~码中的字符Q布型?/p>
2.联接数据源?br /> Connection con
以下任选其一
con = DriverManager.getConnection(<url>)
con = DriverManager.getConnection(<url>,<proporties>)
con = DriverManager.getConnection(<url>,<user>,<password>)
3.执行
Statement stmt=con.creatStatement();
----执行存储q程Qstmt.execute(<String sql>)
----以批处理方式执行多个语句Qstmt.executeBatch()
----更新处理Q ?int updateCount=stmt.executeUpdate(<String sql>)
----查询 ResultSet rs=stmt.executeQuery(<String sql>)
常用的是: while (rs.next())
{}
利用 . PrepairedStatement
优点Q不需重新在生成,只要修改参数可以了Q?br /> e.g. PrepairedStatement pstmt1
pstmt1=con.PrepairedStatement("select * from tableName where a=? and b=?")
pstmt1.setString(text1.getText,text2.getText)
ResultSet rs=pstmt1.executeQuery();
利用 ResultSetMetaData
要取得数据表中的字段数目Q类型等Q可以利用Result的getMetaData(),q回l果是以ResultSetMetaData对象保存?br /> e.g.
ResultSet rs =stmt.getResultSet()
ResultSetMetaData rsmd=rs.getMetaData();
//字段数目Q?br /> int columeCount=rsmd.getColumnCount()
for (i=1;i<=columnCount;i++)
{
System.out.println(rsmd.getClumnName())
}