对象的创建
类名 对象名 = new 累构造方法()
那么Connection conn = DriverManager.getConnection("url","userName","password")又是什么意思?
(类名Connection) (对象名conn ) (等号后是什么)
静态方法 用static区分,不需要创建对象就可以直接调用的方法,如:
[code="java"]public class Tst {
public static void main(String[] args) {
SomeClass.staticMethod();
}
}
class SomeClass {
public static void staticMethod() {}
}
[/code]
而非静态方法,就必须要创建对象了,如:
[code="java"]public class Tst {
public static void main(String[] args) {
new SomeClass().staticMethod();
}
}
class SomeClass {
public void staticMethod() {}
}[/code]
从上面就可以看出静态方法给具体的对象没有关系,只和类有关系,而非静态方法就和具体的对象有关系。这样与具体对象没有关系的属性就用静态的(如返回所创建对象的总数等),而与具体对象有关的属性方法就用非静态的。
这是用DriverManager类里面的静态方法构造一个新DriverManager对象
[quote]对象的创建
类名 对象名 = new 累构造方法()
那么Connection conn = DriverManager.getConnection("url","userName","password")又是什么意思?
(类名Connection) (对象名conn ) (等号后是什么) [/quote]
public abstract interface java.sql.Connection
Connection是一个接口,
Connection conn = DriverManager.getConnection("url","userName","password")这样写,是一种面向接口编程的风格。
DriverManager.getConnection("url","userName","password")就是DriverManager这个类调用她里面的一个static 方法getConnection来获得一个 有Connection接口的类的一个实例,比如 class AA implents Connection.那她就是返回一个AA类的实例,打个比喻而已,返回的肯定不是AA实例了。
静态方法和非静态方法的区别的区别,具体的可以百度上看,我只说下简单的区别。
静态方法可以直接用类名调用,为该类所有实例所共有,非静态的就需要实例来调用,比如:
public class AA{
public static void aa{}
public void bb{}
}
AA.aa();
AA a=new AA();
a.bb();
a.aa();
写错,应该是Connection类的对象,静态方法或成员变量就是那些不用构造该类的实体就能调用或访问的那些成员。非静态方法则需要构造实体后才能使用。大概是这个意思。