public class Book{
private String auther;
private String titel;
public Book(String auther, String title){
this.auther = auther;
this.title = titel;
}
}
这两个类的构造器不同的写法,可以用上边的规约来解释;
4、可以用两种方式访问静态变量:
类名. 静态变量
类对象.静态变量
在类中,可以通过“类名.静态方法”的方式直接调用。类的静态方法只能访问类的静态变量和静态方法,不可以访问类的成员变量和实例方法。
java程序中的main()方法就是一个静态方法,之所以将其定义为静态方法,是因为它作为程序的入口时,在程序运行前无法创建main()方法的类的对象,无法通过对象去启动它。而将其定义为静态方法后,虚拟机就可以直接加载并运行它。
5、在类的静态变量前,加上关键字final,表明定义的是一个静态变量。常量在使用过程中是不能改变的。
使用final修饰的类不能被继承。
6、如下:/*
*方法是用来处理预编译带参数sql语句;方法的第二个参数是一个变长数组(可以不确定长度的数组)
*/
public static void setParams(PreparedStatement preStmt, Object... params)
throws SQLException {
if (params == null || params.length == 0)
return;
for (int i = 1; i <= params.length; i++) {
Object param = params[i - 1];
if (param == null) {
preStmt.setNull(i, Types.NULL);
} else if (param instanceof Integer) {
preStmt.setInt(i, (Integer) param);
} else if (param instanceof String) {
preStmt.setString(i, (String) param);
} else if (param instanceof Double) {
preStmt.setDouble(i, (Double) param);
} else if (param instanceof Long) {
preStmt.setDouble(i, (Long) param);
} else if (param instanceof Timestamp) {
preStmt.setTimestamp(i, (Timestamp) param);
} else if (param instanceof Boolean) {
preStmt.setBoolean(i, (Boolean) param);
} else if (param instanceof Date) {
preStmt.setDate(i, (Date) param);
}
}
}
下来测试下可变数组用法:class Test(){
public static void fun_1(int []args){
for (int i = 0;i < args.length ; i++ ){
System.out.println(args[i]);
}
}
public static void fun_2(int... args){
for (int i = 0;i < args.length ; i++ ){
System.out.println(args[i]);
}
}
public static void main(String[] args) {
fun_1(); //不能通过编译,
fun_2();
}
}