java 访问静态方法_java 中静态方法与非静态方法的访问

本文详细探讨了Java中静态方法和非静态方法的访问规则。通过示例代码展示了如何从静态方法调用静态和非静态方法,以及如何在非静态上下文中访问这些方法。强调了在静态方法中只能访问静态成员和方法,而不能访问非静态成员。
摘要由CSDN通过智能技术生成

java 中静态方法与非静态方法的访问

public class StaticMethod {

//定义一个非静态方法

public void callMe2()

{

System.out.println("This is a nonstatic method");

}

//定义一个静态方法

public static void callMe()  //静态方法

{

System.out.println("This is a static method");

}

public void Test(){

callMe();         //正确,可以直接调用访问本类静态方法

callMe2();        //正确,可以直接调用访问本类非静态方法

StaticMethod.callMe();  //调用静态对象无需创建对象,可以直接用“类名。方法名”访问

StaticMethod mob=new StaticMethod();

mob.callMe2();      //调用非静态的使用“对象。方法名”访问

}

public static void main(String[] args){

StaticMethod.callMe();     //静态方法在访问本类的成员时,只允许访问静态方法,在静态方法中不能调用非静态的方法和引用非静态的成员变量

callMe();   //正确,可以直接调用访问本类静态方法

//callMe2(); //静态方法在访问本类的成员时,只允许访问静态方法,所以不能直接访问callMe2();因为callMe2()是非静态的。

StaticMethod oa=new StaticMethod();

oa.Test(); //静态方法在访问本类的成员时,只允许访问静态方法,Test是非静态的,尽管Test内部又调用了静态的CallMe()

}

}

class  Run{

public void RunTest(){

//  callMe();          //错误

//  callMe2();         //错误

StaticMethod.callMe();       //调用静态对象无需创建对象,可以直接用“类名。方法名”访问

//StaticMethod.callMe2();    //错误

StaticMethod ob=new StaticMethod();//调用非静态对象要先实例化对象

ob.callMe2();       //调用非静态的使用“对象。方法名”访问

}

public static void Run_main(String[] args){

StaticMethod.callMe();      //静态方法在访问本类的成员时,只允许访问静态方法,在静态方法中不能调用非静态的方法和引用非静态的成员变量

//StaticMethod.callMe2();    //静态方法在访问本类的成员时,只允许访问静态方法,所以不能直接访问callMe2();因为callMe2()是非静态的。

StaticMethod oa=new StaticMethod();

oa.callMe();                //调用静态对象无需创建对象,可以直接用“类名。方法名”访问,也可以使用“对象。方法名”访问

oa.callMe2();     //调用非静态的使用“对象。方法名”访问

oa.Test();      //静态方法在访问本类的成员时,只允许访问静态方法,Test是非静态的,尽管Test内部又调用了静态的CallMe()

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值