普通方法可以调用静态方法吗 静态方法可以直接调用实例方法么?
静态方法可以直接调用实例方法么?
packagecom.text3//静态方法不能直接调用实例方法和变量,但可以间接调用(即在静态方法中创建类的实例,然后调用)classDemo。12{publicstaticvoidmain(String[]args){Circlec=newCircle()Demou12d=newDemou12()method1()//此处报告错误。静态方法不能直接调用非静态方法。D.method1()//间接调用,无错误c.setradius(5.0)//间接调用,无错误}publicvoid method1(){method2()}publicstaticvoid method2(){circle C=newcircle()系统输出打印(“whatisradius”c.getRadius())}类圆{privateBoolRadiusPublicDoubleGetRadius(){returnradius}publicvoidsetRadius(doubleradius){this.radius=半径}}
同一个类中静态方法为什么不能调用实例变量?
不,因为Java中的静态内容是类级别的,即也就是说,可以用类名或任何对象名访问它们。无论以何种形式访问,它们都是同一事物。一般来说,成员变量是指对象层次,即每个对象所拥有的成员变量是独立的、不同的,属于对象本身。与访问范围相比,它更为静态,静态可以被任何对象访问并且是相同的,成员变量是每个对象所拥有的。所以,为什么“静态方法不能调用类成员变量”是因为要访问成员变量,必须有一个“实例化对象”。除非在静态方法中创建当前类的实例对象,否则不能直接调用成员变量,因为它不知道成员变量属于哪个实例对象。在成员方法中,可以确定属于该成员的所有变量和方法属于同一个对象,这可以用来表示当前对象。
普通方法可以调用静态方法吗 静态方法可以调用非静态方法吗 实例方法可直接调用什么
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。