java中的方法调用

简述:

在java中有普通方法、静态方法、构造方法。在类中、类中的方法中分别调用这些方法在语法上是有区别的。在类中和在类外调用也是有区别的。

1.在同一个类中:

1)在普通方法中调用

class A{
    void methodA(){}                  //普通方法
    static void methodB(){}           //静态方法
    void methodC(){                   //在普通方法中调用            
        methodA();                    
        this.methodA();
        methodB();
        this.methodB();
        A.methodB();
        A.methodA();   
    }
}

正确的:

methodA();                    
this.methodA();
methodB();
this.methodB();
A.methodB();

错误的:

 A.methodA();

记住普通方法是一定不能用类去调用的。
可以在普通方法中调用静态方法

2)在静态方法中调用

class A{
    void methodA(){}
    static void methodB(){}
    static  void methodC(){
        methodA();
        this.methodA();
        A.methodA();
        methodB();
        this.methodB();
        A.methodB();
    }
}

其中正确的有:

methodB();
A.methodB();

错误的:

methodA();
this.methodA();
A.methodA();
this.methodB();

不能在静态方法中调用普通方法

2.在不同的类中:

1)在普通方法中调用

class A{
    void methodA(){}
    static void methodB(){}
}
class B{
    void methodA(){}
    static void methodB(){}
    void methodC(){
        A a = new A();
        a.methodA();
        this.methodA();
        A.methodB();
        a.methodB();
    }
}

正确的:

A a = new A();
a.methodA();
A.methodB();
a.methodB();

错误的:

this.methodA();

此处的this是B类中的引用,只能调用B类对象的方法。

2)在静态方法中调用

class A{
    void methodA(){}
    static void methodB(){}
}
class B{
static void methodC(){
        methodA();
        this.methodA();
        A.methodA();
        methodB();
        this.methodB();
        A.methodB();
        A a = new A();
        a.methodB();
    }
}

其中正确的有:

A.methodB();
A a = new A();
a.methodB();

错误的:

methodA();
this.methodA();
A.methodA();
methodB();
this.methodB();

总结:

1.在同一个类中普通方法可以直接调用静态方法,而在静态方法中不能直接调用普通方法
2.在静态方法中一定不能出现this的引用
3.普通方法一定不能用类去调用
4.在不同的类中,不能直接在一个类中直接调用另一个类的方法,也不能用这一个类的this引用去调用另一个类中的方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值