普通类类型作为方法的返回值:

返回值:返回的是改类的对象

  • 创建该类
  • 使用return语句返回该类的对象

抽象类类型作为方法的返回值:

返回值:该抽象类的子类(因为抽象类必须要通过继承才能实现)

  • 新建一个类继承抽象类
  • 实现该抽象类的抽象方法
  • 创建子类对象
  • 使用return语句返回子类对象

接口类型作为方法的返回值:

返回值:该接口的实现类对象

  • 新建类实现接口
  • 实现接口的抽象方法
  • 创建类对象
  • 使用return语句返回实现类对象

返回值实例:

package com.方法的返回值;

public class Demo {
    public static void main(String[] args){

    }

    /**
     *
     * @return 返回普通类类型
     */
    public static C1 f(){
        C1 c = new C1();
        return c;
    }

    /**
     *
     * @return 返回抽象类类型
     */
    public static Abclass f2(){
        Abclass ab = new C2();
        return ab;
    }

    /**
     *
     * @return 返回接口类型
     */
    public static Iter f3(){
        C3 it = new C3();
        return it;
    }


}


class C1{
    public void func(){
        System.out.println("我是C1类");
    }
}

abstract class Abclass{
    String name = "Abclass";
}

class C2 extends Abclass{

}

interface Iter{
    public abstract void fun();
}

class C3 implements Iter {
    @Override
    public void fun() {

    }
}