可以通过创建该类的对象,通过静态main方法访问非静态变量。这怎么可能?
面向对象规则是静态方法无法访问的非静态变量,因为在我们运行类时,首先发生静态块/静态变量初始化。将类加载到JVM中时会执行静态块。所以我们无法在执行的静态方法中访问非静态变量。但为什么只有这种情况没有编译错误?请给我一个解释
允许这样做
public class MainThread {
int y =89;
public static void main(String[] args) {
Thread1 j = new Thread1();
System.out.println(y);
}
}
这不允许为什么???
function fuser(req,res,next){
var db = require('../../lib/database')();
db.query("SELECT * FROM tbluser WHERE strSNum= ?",[req.params.userid], (err, results, fields) => {
if (err) console.log(err);
req.user= results;
return next();
});
}
router.get('/:userid', fuser, (req, res)) => {
res.render('profile/views/index',{usertab: req.user});
});
谢谢:)