Java学习:方法参数类型以及返回值类型问题

本文详细解析了Java中类、抽象类及接口作为参数和返回值的使用场景,通过具体示例阐述了如何实现继承与多态,帮助读者深入理解面向对象编程的核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当类名作为形式参数时:
我们用代码来体会:

public class Person {
  public void show(){
      System.out.println("父类的show方法");
  }
}
public class Student extends  Person {
    @Override
    public void show() {
        super.show();
        System.out.println("子类的show方法");
    }
}
class Test{
    public static void main(String[] args) {
        Person p=new Student();
      method(p);

    }
    public static void method(Person p){
        p.show();
    }
}
父类的show方法
子类的show方法

如果一个方法的形参要一个类 类型,你就传该类的一个对象
当抽象类名做为参数时:

public abstract class Person {
  public abstract void show();
}
public class Student extends  Person {
    @Override
    public void show() {
        System.out.println("子类的show方法");
    }
}
class Test{
    public static void main(String[] args) {
        Person p=new Student();
      method(p);

    }
    public static void method(Person p){
        p.show();
    }
}
子类的show方法

如果一个方法的形参的类型是一个抽象类 类型,那么你就传该抽象类的子类对象
同样的,如果一个方法的形参的类型是一个接口类 类型,那么你就传该接口类的子对象

接口名和抽象类名作为返回值类型:

public interface JieKou {
    void sing();
}
public abstract class Person {
  public abstract void show();
}

public class Student extends  Person implements JieKou {
    @Override
    public void show() {
        System.out.println("子类的show方法");
    }

    @Override
    public void sing() {
        System.out.println("会唱歌");
    }
}
class Test{
    public static void main(String[] args) {
        Person p=person();
        p.show();
        JieKou ji=ji();
        ji.sing();

    }
    public static Person person(){
        return new Student();
    }
   public static JieKou ji(){
        return new Student();
   }
}

可以总结出:
如果一个方法的返回值类型要一个抽象类 类型,那么你就返回一个该类的子类对象;
如果一个方法的返回值类型要一个接口类型,你就返回一个 该接口的子类对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值