Java 为什么会发生这种情况,我如何纠正这种情况;错误;?

Java 为什么会发生这种情况,我如何纠正这种情况;错误;?,java,Java,而且,当我尝试以相同的代码启动时,手机上的应用程序停止响应,我认为错误可能出现在连接的某些代码中,但我不确定,因为我对这个问题非常不了解 还有一个问题,我的连接正确吗 public class ConexaoClass { String classs = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/bd_tela"; String un = "admin"; String pass = "96960409

而且,当我尝试以相同的代码启动时,手机上的应用程序停止响应,我认为错误可能出现在连接的某些代码中,但我不确定,因为我对这个问题非常不了解

还有一个问题,我的连接正确吗

public class ConexaoClass {

String classs = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/bd_tela";
String un = "admin";
String pass = "96960409w";


@SuppressLint("NewApi")
public Connection CONN(){
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);

    Connection conn = null;
    String connURL = null;
    try{
        Class.forName(classs);

        conn = DriverManager.getConnection(url, un, pass);

        conn = DriverManager.getConnection(connURL);

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return conn;
}
简化代码:

class Login {}  // Can't see this, but I know it's around somewhere. Maybe imported.

void someMethod() {
  Login login = new Login();
  login.execute();

  class Login { 
    void execute() {}
  }
}
带有
execute()
方法的
Login
是一个,在您使用它的位置之后声明。本地类仅在声明后才在作用域中:

直接由块(§14.2)封闭的局部类声明的范围是直接封闭块的其余部分,包括其自身的类声明

因此,您的
Login
实际上是指在方法外部定义的类,该类没有
execute()
方法,这意味着找不到
execute()
符号

将本地声明移到以下位置之前:

class Login() {}

void someMethod() {
  class Login { 
    void execute() {}
  }

  Login login = new Login();
  login.execute();
}
但实际上,本地类并没有得到广泛的应用,而且有一个本地类隐藏另一个类是令人困惑的


考虑将其重命名。

为什么会发生这种情况?你知道为什么这是一个很糟糕的问题标题吗?看起来
Login
在你使用它的地方被声明为一个本地类。将其声明移动到用法之前(和/或将其设置为非本地类,因为本地类非常罕见)。是否可以编辑您的问题以放置更具体的标题?并将错误/错误行为描述为问题中的文本?人们不能总是访问上传的图像