Java抽象类和接口做参数和返回值

mac2024-12-16  14

抽象类用作做参数 使用的是该抽象类的子类的对象

abstract class Person { public abstract void study(); } class PersonDemo { public void method(Person p){ p.study(); } } class Student extends Person { public void study(){ System.out.println("Good Good Study,Day Day Up"); } } class Test { public static void main(String [] args){ PersonDemo pd=new PersonDemo(); Person p=new Student(); pd.method(p); } }

程序运行结果: Good Good Study,Day Day Up 接口类用做参数

interface A { public abstract void love(); } class loveDemo { public void method(A l){ l.love(); } } //定义具体类实现接口 class B implements A { public void love(){ System.out.println("love "); } } class Test { public static void main(String [] args){ loveDemo ld=new loveDemo(); A l=new B(); ld.method(l); } }

运行结果:love. 和抽象类一样的

返回值

abstract class A { public abstract void love(); } class Demo { public A getlove(){ return new B(); } } class B extends A { public void love(){ System.out.println("love"); } } class Test { public static void main(String [] args){ Demo d=new Demo(); A l=d.getlove(); l.love(); } }

运行结果:love 接口作为返回值也是一样的。

最新回复(0)