您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

实例的局部变量/方法的范围是什么

实例的局部变量/方法的范围是什么

您应该区分声明和定义。

在您的情况下,您声明一个class变量,Test并将其分配给派生自某个类的对象Test(这是一个匿名类),该对象中包含一些其他内容

此定义之后的代码仅看到tTest,它对此一无所知xhello因为Test没有它们。

因此,除了反射之外,您不能使用匿名类xhello在定义之后。是的,开发人员在定义中需要这些变量时会使用此类变量

提到您可以Test在定义后立即调用不属于其中的方法和访问变量:

int y = new test(){
    int x = 0;
    //System.out.print("" + x);
    void hello(){
        System.out.print("inside hello\n");
    }
}.x;

可以这样做是因为在这一点上,对象的类型是已知的(这是匿名类)。一旦将此对象分配给Test t,就会丢失此信息。

其他 2022/1/1 18:36:59 有463人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶