JDBC连接数据库
SQL2000需要三个jar包:
http://dl.dbank.com/c01lhhrw11SQL2005需要一个jar包:
http://dl.dbank.com/c02tkdkmmy加载驱动与得到连接的区别:
SQL2005的用:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;d atabaseName=stdb","sa","sa");
SQL2000的用:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;d atabaseName=stdb","sa","sa");
常见问题
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect ava 连sql2005出现这个错误时,首先检查是否引用了sql 2005的包;
第二步,看你的sql 2005是否开启了远程访问权限,具体设置如下:
进入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置器”
在进入“MSSQLSERVER"——“DATABASE" Engine”——“远程连接”
选择“本地连接和远程连接(R)"——”同时使用tcp/ip和named pipes(B)"
最后重启sql server 2005
posted @
2011-11-08 22:53 爱燕神鹰 阅读(303) |
评论 (0) |
编辑 收藏
方法重载
# Java的方法重载是指一个类中有多个方法具有相同的名字,但参数不同。
调用方法时通过传递给它们的不同个数和类型的参数来区分具体使用哪个方法, 这
就是多态性。
1. 方法名相同
2. 方法的参数类型,个数,顺序至少有一项不同
3. 方法返回类型可以不同
4. 方法的修饰符可以不同
方法覆盖(重写)
#在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
1. 方法覆盖就是子类有一个方法和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。
2. 子类的方法的返回类型,参数,方法名称要和父类的完全一致,否则编译出错。
3. 子类方法不能缩小父类方法的访问权限(子类方法的修饰符定义得要比父类方法的修饰符的访问范围大)
posted @
2011-11-06 09:54 爱燕神鹰 阅读(211) |
评论 (0) |
编辑 收藏
成员变量和局部变量
1.类体属性部分定义的变量称为成员变量;方法体内定义的变量称为局部变量。
2.成员变量在整个类内都有效;局部变量只在定义它的方法体内有效。
3.如果成员变量和局部变量的名字相同,则在方法体里成员变量将被隐藏。
Public class Person{
int age; //成员变量
String name; //成员变量
public Person(int age,String name)
{
this.age=age; //this.age中的age为成员变量,age为局部变量
this.name=name;
}
实例变量和类变量(静态变量)以及类方法
1. 实例变量+类变量=成员变量。
2. 类变量声明时要带有“static”关键字。
3. 实例变量使用时是被对象调用的,即“对象名.实例变量名”;
类变量使用时被类调用(也可以是对象),即“类名.类变量”( 对象名. 类变量)。
4. 某个对象更改其实例变量,其他对象不受影响;类变量改变时,所有对象的这个类变量都被改变。
5. 实例方法既能对类变量操作,用能对实例变量操作,而类方法只能对类变量进行操作。
Public class Child{
int age;
String name;
static int total=0;
public void joinGame(){
System.out.println("有一个小孩加进来啦");
total++;
}
}
public static void main(String []args)
{
Child ch1=new Child();
ch1.age=10;
ch1.name=”小小”;
System.out.println("共有"+ch1.total); }
静态代码块static{...}
首先静态代码块static{...}是在类被装载的时候执行,且只执行一次;静态代码块是在内存中开辟的一块公共区域,类的多个实例共享的区域,任何该类的实例对该区域的操作都对所有所有该类的实例对该区域的操作都是生效的。
static代码块主要用在想在类加载的时候就初始化一些内容,如:初始化数据库链接classforName("XXX"),
posted @
2011-11-06 09:53 爱燕神鹰 阅读(481) |
评论 (0) |
编辑 收藏
什么是是JAVA构造函数
每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。
一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,与new运算符一起使用,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。
构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用(即在new的时候就开始执行构造函数里面的语句);而一般的方法是在程序执行到它的时候被调用的.
(6)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(7)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
(8)当定义一个类的时候,如果程序员不创建构造函数,则Java编译器就会提供一个默认的不带参数的构造函数。创建对象时系统就会自动调用这个默认的构造函数来创建类的对象。如
Public Class Person{
Int age;
String name;
//默认的构造函数为(java编辑器会自动生成的)
Public Person(){
}
Person p=new Person();
p.age=10;
p.name=”张三”;
}
java 构造函数的执行过程
类初始化时构造函数调用顺序:
(1)初始化对象的存储空间为零或null值;
(2)调用父类构造函数;
(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
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");
}
}
输出结果:
Money is construct
Dollar is construct!
RMB is construct
posted @
2011-11-05 09:59 爱燕神鹰 阅读(3165) |
评论 (0) |
编辑 收藏