java - 为什么会发生这种情况,我该如何纠正这个“错误”?
问题描述
而且,当我尝试以相同的代码开始时,手机上的应用程序停止响应我认为错误将出现在连接的某些代码中,但我不确定,因为我在这个问题上很菜鸟
还有一个问题,我的连接正确吗?
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() {}
}
}
Login
withexecute()
方法是一个本地类,在你使用它的地方声明。本地类仅在声明后才在范围内。语言规范:
由块(第 14.2 节)直接包围的局部类声明的范围是直接封闭块的其余部分,包括它自己的类声明。
所以你Login
实际上是指在方法之外定义的类,它没有execute()
方法,这意味着execute()
找不到符号。
将本地声明移到之前:
class Login() {}
void someMethod() {
class Login {
void execute() {}
}
Login login = new Login();
login.execute();
}
但实际上,本地类并没有被广泛使用,并且有一个隐藏另一个类的本地类是令人困惑的。
考虑重命名它。
推荐阅读
- spring-mvc - 如何从百里香模板访问弹簧控制器对象?
- flutter - 在 Flutter 中的 Inkwell 小部件中添加边框半径
- bash - 在 shell 脚本中将多个剪切的输出连接在一行中
- sql - 消除查询中的聚集索引扫描
- node.js - 在 node.js 中如何通过 Google Calendar API 插入事件?
- reactjs - 在 react.js 中显示时钟
- reactjs - 反应表日期范围过滤器
- reactjs - 强制使用两个道具之一调用反应组件
- data-structures - 使用递归树,求解递归 T(n) = T(n − 1) + O(n)
- java - 已签名的 APK 无法使用 multiDexKeepProguard 打开