代码:
public class Test {
public static void main(String[] srg) {
  String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  //加载JDBC驱动
  String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";  //连接服务器和数据库sample
  String userName = "sa";  //默认用户名
  String userPwd = "123456";  //密码
 }}使用elicpse执行该代码出现以下错误信息
public class Test报错误信息:本地类的Test修饰符不合法;只允许使用“抽象”和“终态”
public static void main(String[] srg)报错误信息:方法main不能声明为“静态”;只能在静态类型和顶级类型中才能声明为静态方法
以上错误怎么解决?
初学者请多多指教。急!!!请高手帮忙

解决方案 »

  1.   

    LZ的代码我在本机上没报错,楼主的JDK什么版本?
    是不是代码不全,继承了别的类什么的?
      

  2.   

    我估计LZ给的代码不是全的,首先,在一个文件中只允许存在一个public类,并且这个类和给定的类名必须相同,LZ可以检查下~
      

  3.   

    楼主的这个类是放在jsp文件里面用<% %>包含的吧?
    这个方法不推荐,jsp里<% %>是可以加入JAVA代码的,但是把类放里面我从没见过这样的
    建议楼主用JAVA文件,编译成class文件,再让jsp调用
      

  4.   

    全部代码如下:
       public class Test {
           public static void main(String[] arg)
        {
             String drivername="com.microsoft.sqlserver.jdbc.SQLServerDriver";
             String dburl="jdbc:sqlserver://localhost:1433;DatabaseName=sample";
             String username="sa";
             String userpwd="";
             Connection dbconn;
             try{
               Class.forName(drivername);
               dbconn=DriverManager.getConnection(dburl,username,userpwd);
               System.out.println("Connection Successful!");
             }catch(Exception e){
               e.printStackTrace();
             }
           }
        }使用elicpse执行该代码出现以下错误信息 
    public class Test报错误信息:本地类的Test修饰符不合法;只允许使用“抽象”和“终态” 
    public static void main(String[] srg)报错误信息:方法main不能声明为“静态”;只能在静态类型和顶级类型中才能声明为静态方法 
    以上错误怎么解决? 
    初学者请多多指教。急!!!请高手帮忙
      

  5.   

    按照caizhh的方法,把类放在java文件,然后编译成class文件,再用jsp调用的方法,报如下错误信息:
    C:\>javac testdb.java
    testdb.java:2: 类 MyTestClass 是公共的,应在名为 MyTestClass.java 的文件中声明
       public class MyTestClass {
              ^
    1 错误是哪地方有错?错在哪里?怎么解决
      

  6.   

    public static void main(String[] srg)是什么意思
    不明白,我用的都是public static void main(String[] args)
      

  7.   

    public static void main(String[] srg)与public static void main(String[] args)是一样的,只是创建的变量名不一样
    有谁能帮我解决一下这个问题,万分感激
      

  8.   

    这个不影响的 
    你把elicpse这个类编译的CLASS文件删除一下 重新编译一次。试验下
      

  9.   

      *    String drivername="com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
       *   String dburl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
        *  String username="sa"; 应当是这样写的吧·连接数据库
      

  10.   

    正式的写法,你应该把那个信息写到一个方法中去,main只是运行实现其效果即可啦,也就是main中只需要调动就行啦!可明白呀!
      

  11.   


    你的类名是MyTestClass
    那么JAVA文件名应该为MyTestClass.java
    大小写也要对应好!
      

  12.   


    public static void main(String[] srg)
    public static void main(String[] args)
    这两个有区别吗?
    main方法是JAVA应用程序的入口,其参数是一个String[]数组,至于参数名是什么就是换成
    public static void main(String[] a)同样行