• 彧豪
    2020-02-02
    哈喽哈喽,萌老师好久不见了啊,这节课的内容暂时没有什么问题,但我在敲代码的时候遇到了一个别的问题,或者说有一个突发奇想吧:
    package com.geekbang;

    public class MerchandiseV2WithConstructorAppMain {
      int testInt = 100;
      public static void main(String[] args) {
        System.out.println(this.testInt);

      }
    }
    此时我运行,它会报错:无法从静态上下文中引用非静态变量this,而输出语句写在psvm外面也不行!
    我们能run的java文件也是一个类,毕竟开头是public class对吧,那么问题来了:
    1. 会有需要在这样的java文件的psvm外面写代码的情况吗?
    2.如果会在psvm外面写代码,那如何使用那些psvm外面的代码呢?比如我上面这个就报错了
    求指点,谢谢~~
    展开

    作者回复: 在main方法中创建实例。通过实例的引用调用非static的方法。

    main方法是静态方法,里面不能用this自引用。你可以
    M m=new M();
    然后输出m.testInt

    
    
  • GLADIATOR
    2019-10-16
    和c++贼像

    作者回复:
    Java的语法是参考C++的,第一波Java程序员有很多是C++转的

    
    
  • st
    2019-07-28
    55课打个卡,学习一周。
    感谢老师带我走过的java基础之路。
    感谢老师的耐心讲解与回复。

    作者回复: 滴,学生卡

    
    
我们在线,来聊聊吧