你可以先了解一下java的异常处理机制,java连接数据库是需要强制抛出异常的。在你的代码中你使用了try{}finally{} 完整的已经是 try{}catch(){}finally{},然后你就可以不在方法上throws Exception了,如果你在方法上throws Exception ,当你调用这个方法的时候,异常还得往上抛
六枝网站建设公司创新互联,六枝网站设计制作,有大型网站制作公司丰富经验。已为六枝数千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的六枝做网站的公司定做!
举例:
public class XXX {
public static void help() {
System.out.println("Welcome!");
}
}
其中的help方法就是静态的。主要是加了“static”关键字。
static{}是静态块,只有在class第一次初始化的时候执行,对于你这个就是在main函数之前执行了已经。
所以在你Count ct=new Count();之前就开始执行
static Value v1,v2;//此时value.c = 0
static{
prt("v1.c=" v1.c " v2.c=" v2.c);
v1=new Value(27);//update to 27
prt("v1.c=" v1.c " v2.c=" v2.c); //27 now
v2=new Value(15);//update to 15
prt("v1.c=" v1.c " v2.c=" v2.c); /15 now
}
因此输出v1.c=0 v2.c=0
v1.c=27 v2.c=27
v1.c=15 v2.c=15
然后跑Value value = new Value(10),--- Value.c = 10 now
输出:ct.c=10
value1, value2全部为10
v1.inc -- c=c+1 = 10+ 1= 11
因此以后输出只要是Value.c都为11
static就是常驻内存的变量,只要定了,不管你是新new的多少个,都是那个值
ct.v.c --ct的成员v的成员c...
要好好学啊。。基础很薄弱。。
abstract class Animal{
String name;
public Animal(String name){
this.name=name;
}
abstract void shout();
}
class Dog extends Animal{
public Dog(String name){
super(name);
}
public void shout(){
System.out.println("狗在叫...");
}
}
class Cat extends Animal{
public Cat(String name){
super(name);
}
public void shout(){
System.out.println("猫在叫..");
}
}
class Sheep extends Animal{
public Sheep(String name){
super(name);
}
public void shout(){
System.out.println("羊在叫...");
}
}
public class Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a=new Dog("汪星人");
letAnimalShout(a);
Animal b=new Cat("喵星人");
letAnimalShout(b);
Animal c=new Sheep("羊星人");
letAnimalShout(c);
}