方法返回值问题:
* 基本数据类型:需要什么数据类型,在调用方法的时候,就使用该具体类型去接收!
* 引用数据类型:
* 返回值如果是:
* 具体类:需要返回该具体类的对象!
* 抽象类:需要返回该抽象类的子类对象
//定义一个抽象类
abstract class Person{
public void love() {
System.out.println("爱生活");
}
}
//定义抽象类的子类继承抽象类
class Teacher extends Person{
public void love() {
System.out.println("爱生活,爱JAVA");
}
}
//定义一个类PersonDemo
class PersonDemo{
//该方法返回值是抽象类
public Person function() {
//分步走
/*Person p=new Teacher();//抽象类多态
return p;*/
//一步走
return new Teacher();
}
}
public class ReturnDemo2 {
public static void main(String[] args) {
PersonDemo d=new PersonDemo();
Person function = d.function();//相当于new Teacher();
function.love();
/*子类继承父类,如果子类的成员方法名称和父类的成员方法名称一致的情况:
1)先在子类的成员位置中找是否存在该方法,存在,就调用
2)如果不存在,在父类的成员位置中找,如果存在,就是用
3)如果不存在,父类中没有这个方法,就会报错(都不存在这个方法)*/
}
}