抽象类作为返回值
package org.wdzl.unit04;
public class ArgsDemo2_2 {
public static void main(String[] args) {
PersonDemo2 personDemo2= new PersonDemo2();
Person2 person = personDemo2.getPerson();
person.study();
}
}
abstract class Person2{
public abstract void study();
}
class PersonDemo2{
public Person2 getPerson(){
return new Student2();
}
}
class Student2 extends Person2{
@Override
public void study() {
System.out.println("Good Study!!!");
}
}
接口作为返回值
package org.wdzl.unit04;
public class ArgsDemo3_2 {
public static void main(String[] args) {
Teacher1 teacher1 = new Teacher1();
ExtendMethod1 method = teacher1.getMethod();
method.cook();
}
}
interface ExtendMethod1{
public abstract void cook();
}
class TeacherDemo1 implements ExtendMethod1{
@Override
public void cook() {
System.out.println("做饭");
}
}
class Teacher1 {
public ExtendMethod1 getMethod(){
return new TeacherDemo1();
}
}