形式参数和返回值的问题

(1)形式参数:
    类名:需要该类的对象
    抽象类名:需要改该类的子类的对象
    接口名:需要该接口的实现类对象
(2):返回值类型:
    类名:返回的是该类的对象
    抽象类名:返回的是该类的子类对象
    接口名:返回的是该接口的实现类的对象
(3):链式编程
    对象.方法().方法().方法();
    这种用法:其实在方法1()调用完毕后,应该一个对象;
                   方法2()调用完毕后,应该返回一个对象。
                   方法n()调用完毕后,可能是对象,也可以不是对象。
引用类型
    类:需要的是该类的对象
    抽象类
    接口
    
     StudentDemo studentDemo = new StudentDemo();
     Student ss = new Student();
     studentDemo.method(ss);
抽象类:需要的是该抽象类的子类对象,因为本身不能实例化,所以要靠子类
abstract class Person{
    public abstract void study();
}
class PersonDemo{
    public  void method(Person person){//p;p = new Student(); Person p = new Student();//多态
        person.study();
    }
}
class Student1 extends Person{
    @Override
    public void study() {
        System.out.println("我的");
    }
}
public class XingCanDemo2 {
    public static void main(String[] args){
        //目前没有办法使用
        //因为抽象类没有对应的具体类
        //那么,我们就应该先定义一个具体类
        //需求:我要使用PersonDemo类中的method方法
        PersonDemo pd = new PersonDemo();
        Person p = new Student1();//利用多态
        pd.method(p);
    }
}
接口:需要该接口的子类对象(实现类对象)
//定义一个爱好的接口
interface  Love{
    public abstract void love();
}
class LoveDemo{
    public void method(Love love){//love; love = new Teather();Love love = new Teather();多态
        love.love();
    }
}
class Teacher implements Love{
    @Override
    public void love() {
        System.out.println("love");
    }
}
public class XingCanDemo3 {
    public static void main(String[] args){
        //需求:我要测试LoveDemo类中的love方法
        LoveDemo loveDemo = new LoveDemo();
        Love love = new Teacher();
        loveDemo.method(love);
    }
}

//类作为引用变量依然要创建一个student对象 会不会占用过多内存?

猜你喜欢

转载自blog.csdn.net/weixin_38167703/article/details/81480318