返回值是类,是抽象类,是接口的调用方法
类:需要的是该类的对象
抽象类:返回值是该抽象类的子类
接口:返回的是该接口的实现子类
//返回值是类时
package Practie;
class Student{
public void study() {
System.out.println("好好学习");
}
}
class StudentDemo{
public Student getStudent() {
return new Student();
}
}
public class StudentTest {
public static void main(String[] args) {
StudentDemo sd = new StudentDemo();
Student s =sd.getStudent();
s.study();
}
}
//返回值是抽象类时
package Practie;
abstract class Person{
abstract public void study();
}
class PersonDemo{
public Person getPerson(){
return new Student();
}
}
class Student extends Person{
public void study() {
System.out.println("好好学习");
}
}
public class PersonTest {
public static void main(String[] args) {
PersonDemo pd = new PersonDemo();
Person p = pd.getPerson();
p.study();
}
}
返回值是接口的时候
package Practie;
interface Person{
abstract public void study();
}
class PersonDemo{
public Person getPerson(){
return new Student();
}
}
class Student implements Person{
public void study() {
System.out.println("好好学习");
}
}
public class PersonTest {
public static void main(String[] args) {
PersonDemo pd = new PersonDemo();
Person p = pd.getPerson();
p.study();
}
}