Java中在一个方法中调用另一个方法

在同一个类中:
对于静态方法,其他的静态或非静态方法都可以直接调用它。
而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。

静态方法不能被非静态方法覆盖。

public class Test2 {
    public static void s1(){
        System.out.println("s1");
    }
    public void say1(){
        System.out.println("say1");
    }
    public void say(){
        s1();
        say1(); //调用say1方法
    }
    public static void main(String [] args ) {
         s1();
         Test2 t = new Test2();
          t.say();
    }
 }

不同的类之间,无论调用方法是非静态还是静态,如果被调用的方法是:
静态方法,则通过类名与对象都可以调(但通过对象的方式不建议使用,因为它属于非静态调用的方式)
非静态方法,则只能通过对象才可以调用它

public class CallTest2 {
      public static void s(){
          System.out.println("s1");
      }
      public void say(){
          Test2 t2 = new Test2();//调用Test里面的方法
          t2.say();
          t2.s1();
          Test2.s1();
      }
      public static void main(String [] args ) {
          CallTest2 t = new CallTest2();
          t.say();
     }
 }

你可能感兴趣的:(面向对象)