非静态变量可以通过调用类对象.how来通过静态main方法访问。

时间:2017-12-03 17:21:37

标签: java oop static-methods main-method

可以通过创建该类的对象,通过静态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});
});

谢谢:)

0 个答案:

没有答案