??xml version="1.0" encoding="utf-8" standalone="yes"?> SQL2005的用Q?/span>Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;d atabaseName=stdb","sa","sa"); SQL2000的用Q?/span>Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
SQL2005需要一个jar包:(x)http://dl.dbank.com/c02tkdkmmy
加蝲驱动与得到连接的区别Q?br />
W二步,看你的sql 2005是否开启了q程讉K权限Q具体设|如下:(x)
q入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置?#8221;
在进?#8220;MSSQLSERVER"——“DATABASE" Engine”——“q程q接”
选择“本地q接和远E连?R)"——”同时使用tcp/ip和named pipes(B)"
最后重启sql server 2005
]]>
# Java?/span>Ҏ(gu)重蝲是指一个类中有多个Ҏ(gu)h相同的名字,但参C同?/span>
调用Ҏ(gu)旉过传递给它们的不同个数和cd的参数来区分具体使用哪个Ҏ(gu), q?/span>
是多态性?/span>
1. Ҏ(gu)名相?/span>
2. Ҏ(gu)的参数类型,个数Q顺序至有一不?/span>
3. Ҏ(gu)q回cd可以不同
4. Ҏ(gu)的修饰符可以不同
Ҏ(gu)覆盖Q重写)
#?/span>Java中,子类可承父cM的方法,而不需要重新编写相同的Ҏ(gu)。但有时子类q不惛_不动地l承父类的方法,而是想作一定的修改Q这需要采用方法的重写?/span>
1. Ҏ(gu)覆盖是子类有一个方法和父类的某个方法的名称?span style="color:red">q回cd?span style="color:red">参数一P那么我们p子类的这个方法覆盖了父类的那个方法?/span>
2. 子类的方法的q回cdQ参敎ͼҎ(gu)名称要和父类的完全一_(d)否则~译出错?/span>
3. 子类Ҏ(gu)不能~小父类Ҏ(gu)的访问权限(子类Ҏ(gu)的修饰符定义得要比父cL法的修饰W的讉K范围大)
1.cM属性部分定义的变量UCؓ(f)成员变量Q方法体内定义的变量UCؓ(f)局部变量?/span>
2.成员变量在整个类内都有效Q局部变量只在定义它的方法体内有效?/span>
3.如果成员变量和局部变量的名字相同Q则在方法体里成员变量将被隐藏?/span>
Public class Person{
int age; //成员变量
String name; //成员变量
public Person(int age,String name)
{
this.age=age; //this.age中的age为成员变量,age为局部变?/span>
this.name=name;
}
实例变量和类变量Q静态变量)以及(qing)cL?/span>
1. 实例变量+cd?/span>=成员变量?/span>
2. cd量声明时要带?#8220;static”关键字?/span>
3. 实例变量使用时是被对象调用的Q即“对象?/span>.实例变量?#8221;Q?/span>
cd量用时被类调用Q也可以是对象)Q即“cd.cd?#8221;Q?/span> 对象?/span>. cd量)?/span>
4. 某个对象更改其实例变量,其他对象不受影响Q类变量改变Ӟ所有对象的q个cd量都被改变?/span>
5. 实例Ҏ(gu)既能对类变量操作Q用能对实例变量操作Q而类Ҏ(gu)只能对类变量q行操作?/span>
Public class Child{
int age;
String name;
static int total=0;
public void joinGame(){
System.out.println("有一个小孩加q来?/span>");
total++;
}
}
public static void main(String []args)
{
Child ch1=new Child();
ch1.age=10;
ch1.name=”小”;
System.out.println("共有"+ch1.total); }
静态代码块static{...}
首先静态代码块static{...}是在c被装蝲的时候执行,且只执行一ơ;静态代码块是在内存中开辟的一块公共区域,cȝ多个实例׃n的区域,M该类的实例对该区域的操作都对所有所有该cȝ实例对该区域的操作都是生效的?/span>
static代码块主要用在想在类加蝲的时候就初始化一些内容,如:(x)初始化数据库链接classforName("XXX"),
每创Z个类的实例都d始化它的所有变量是乏味的。如果一个对象在被创建时完成了所有的初始工作Q将是简单的和简z的。因此,Java在类里提供了一个特D的成员函数Q叫做构造函敎ͼConstructorQ?/span>
一个构造函数是对象被创建时初始对象的成员函数。它h和它所在的cd全一L(fng)名字。一旦定义好一个构造函敎ͼ?/span>newq算W一起用,创徏对象时就?x)自动调用它。构造函数没有返回类型,即?/span>voidcd也没有。这是因Z个类的构造函数的q回值的cd是q个cLw。构造函数的d是初始化一个对象的内部状态,所以用new操作W创Z个实例后Q立d?x)得C个清楚、可用的对象?/span>
构造方法是一U特D的Ҏ(gu)Q具有以下特炏V?/span>
Q?/span>1Q构造方法的Ҏ(gu)名必Mcd相同?/span>
Q?/span>2Q构造方法没有返回类型,也不能定义ؓ(f)voidQ在Ҏ(gu)名前面不声明Ҏ(gu)cd?/span>
Q?/span>3Q构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域?/span>
Q?/span>4Q构造方法不能由~程人员调用Q而要pȝ调用?/span>
Q?/span>5Q?/span>构造函C能被直接调用,必须通过newq算W在创徏对象时才?x)自动调用(卛_new的时候就开始执行构造函数里面的语句Q;而一般的Ҏ(gu)是在E序执行到它的时候被调用?/span>.
Q?/span>6Q一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系l会(x)自动插入一个无参数的默认构造器Q这个构造器不执行Q何代码?/span>
Q?/span>7Q构造方法可以重载,以参数的个数Q类型,或排列顺序区分?/span>
Q?/span>8Q?/span>当定义一个类的时候,如果E序员不创徏构造函敎ͼ?/span>Java~译器就?x)提供一个默认的不带参数的构造函数。创建对象时pȝ׃(x)自动调用q个默认的构造函数来创徏cȝ对象。如
Public Class Person{
Int age;
String name;
//默认的构造函Cؓ(f)(java~辑器会(x)自动生成?/span>)
Public Person(){
}
Person p=new Person();
p.age=10;
p.name=”张三”;
}
java 构造函数的执行q程
cd始化时构造函数调用顺序:(x) public class Demo_1 { /** * @param args */ public static void main(String[] args){ new Money(); new Dollar(); new Rmb(); } } class Money{ public Money(){ System.out.println("Money is construct"); } } class Dollar{ public Dollar(){ System.out.println("Dollar is construct!"); } } class Rmb{ public Rmb(){ System.out.println("RMB is construct"); } } 输出l果: Dollar is construct! RMB is construct
Q?/span>1Q初始化对象的存储空间ؓ(f)零或null|
Q?/span>2Q调用父cL造函敎ͼ
Q?/span>3Q按序分别调用cL员变量和实例成员变量的初始化表达式;
Money is construct