为什么我们不能在扩展类的静态方法中使用此实例?

西瓦

基类

class Basics415 {   

    Basics1 b1 = new Basics1();

    public static void main_hooo(){
        out.println("1234");     
    }

    void main_ho(){

    }

}

扩展类

public class Basics5 extends Basics415{     

    public static void main(String[] args){

        this.main_hooo();  // this line throws error.
    }

}

为什么我们不能在扩展类的静态方法中使用此实例?

阿尔文·汤普森(Alvin Thompson)

您的main方法是静态的,这意味着没有与Basic关联的实例,因此this将无法使用。要访问的静态方法Basics415,您应该像这样明确地引用它们:

public class Basics5 extends Basics415{
    public static void main(){
        Basics415.main_hooo();
    }
}

你也可以这样做,因为Basic5extends Basic415两者都是可以接受的,但是您的组织可能有自己的样式准则:

public class Basics5 extends Basics415{
    public static void main(){
        main_hooo();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我们不能在类中为方法添加默认值

为什么我们不能在(非静态)内部类中使用静态方法?

为什么我们不能在内核开发中使用C标准库函数?

为什么我们不能在Java中实例化一个抽象类?

为什么我不能在静态上下文中使用“ super”变量,尽管“ super”是指父类而不是类实例,与“ this”不同?

为什么我们不能在静态方法中使用'this'关键字

为什么我们不能在Thread对象的同一实例上两次调用start方法?

为什么我们不能用私有扩展类方法覆盖基类方法?

为什么我们不能总是在C中使用寄存器存储类?

为什么我们不能在Elixir保护子句或宏中使用其他功能?

为什么我们不能在TypeScript类中定义const字段,为什么静态readonly不起作用?

为什么我们不能在打字稿中的类中使用let关键字

为什么我们不能在INTERFACE的静态块内分配变量?OCA

为什么我们不能在Array.map()中使用散布运算符?扁平化数组数组的替代方法是什么?

为什么我们不能在Kotlin的Singleton类(对象)中使用受保护的访问修饰符

为什么我们不能在FORFILES脚本中使用CALL:label命令?

为什么我们不能在静态内部类中定义main函数?

为什么我们不能在Python中使用其地址访问对象?

为什么我们不能在Oracle中使用条件rownum = 5

为什么我们不能在C中使用变量作为e的值

为什么我们不能在构造函数中创建非静态自引用对象

为什么我们不能在iOS中使用DTrace

为什么我们不能在Tomcat中使用websocket?

为什么我们不能在jquery中使用setAtrribute函数?

为什么我不能在类/静态方法中使用私有的、内部的、文件私有的方法?

为什么我们不能在函数中使用 raw_input?

为什么我们不能在循环中使用 async:true ?

为什么我们不能在三元语句中使用“pass”?

为什么我们不能在 switch 语句中使用关系表达式?