Java形式参数和返回值

一、形式参数
1. 基本类型(不举例)
2. 引用类型

类:需要该类的对象
class A {
    public void a() {
        System.out.println("A");
    }
}
class B {
    public void b(A s) {
        s.a();  }
}
class Day1002 {
    public static void main(String[] args) {
        A a = new A();
        B aa = new B();
        aa.b(a);
    }
}
抽象类:需要该抽象类子类的对象
abstract class A {
    public abstract void a();
}
class E {
    public void e(A aa) {
        aa.a();
    }
}
class B extends A {
    public void a() {
        System.out.println("B");
    } 
}
class Day1003 {
    public static void main(String[] args) {
        E e = new E();
        A aa = new B();
        e.e(aa);
    }
}
接口:需要该接口的实现类对象
interface A {
    public abstract void aa();
}
class B {
    public void b(A a) {
        a.aa();
    }
}
class C implements A {
    public void aa() {
        System.out.println("c");
    }
}
class Day1004 {
    public static void main(String[] args) {
        B b = new B();
        A a = new C();
        b.b(a);
    }
}

二、返回值
1. 基本类型(不举例)
2. 引用类型

类:返回该类的对象
class A {
    public void a() {
        System.out.println("A");
    }
}
class B {
    public A b() {
        return new A(); 
    }
}
class Day1005 {
    public static void main(String[] args) {
        A a = (new B()).b();
        a.a();
    }
}
抽象类:返回该类的子类对象
abstract class A {
    public abstract void a();
}
class E {
    public A e() {
        return new B();
    }
}
class B extends A {
    public void a() {
        System.out.println("B");
    } 
}
class Day1006 {
    public static void main(String[] args) {
        A a = (new E()).e();
        a.a();
    }
}
接口:返回该接口的实现类的对象
interface A {
    public abstract void aa();
}
class B {
    public A b() {
        return new C();
    }
}
class C implements A {
    public void aa() {
        System.out.println("c");
    }
}
class Day1007 {
    public static void main(String[] args) {
        A a = (new B()).b();
        a.aa();
    }
}

猜你喜欢

转载自blog.csdn.net/CodeFarmer__/article/details/80610627