类名、抽象类名、接口作为形式参数

2024-09-04 07:32

本文主要是介绍类名、抽象类名、接口作为形式参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

它们都是引用类型。
抽象类、接口都不能实例化。

  • 类名作形参:需要的是该类的对象
  • 抽象类名作形参:需要的是该抽象类的子类对象 (抽象类多态)
  • 接口作形参:需要的是该接口的实现类对象 (接口多态)

1、类名作形参

class Student {public void study() {System.out.println("Good Good Study,Day Day Up");}
}class StudentDemo {public void method(Student s) { //ss; ss = new Student();  Student s = new Student();s.study();}
}class StudentTest {public static void main(String[] args) {//需求:我要测试Student类的study()方法Student s = new Student();s.study();System.out.println("----------------");//需求2:我要测试StudentDemo类中的method()方法StudentDemo sd = new StudentDemo();Student ss = new Student();sd.method(ss);System.out.println("----------------");//匿名对象用法new StudentDemo().method(new Student());}
}

2、抽象类名作形参

abstract class Person {public abstract void study();
}class PersonDemo {public void method(Person p) {//p; p = new Student();  Person p = new Student(); //多态p.study();}
}//定义一个具体的学生类
class Student extends Person {public void study() {System.out.println("Good Good Study,Day Day Up");}
}class PersonTest {public static void main(String[] args) {//目前是没有办法的使用的//因为抽象类没有对应的具体类//那么,我们就应该先定义一个具体类//需求:我要使用PersonDemo类中的method()方法PersonDemo pd = new PersonDemo();Person p = new Student();pd.method(p);}
}

3、接口作形式参数

interface Love{public abstract void love(); 
}class LoveDemo{public void method(Love l){//l= new Teacher(); Love l= new Teacher(); 多态 l.love();}
}//定义具体类实现接口
class Teacher implements Love{public void love(){System.out.println("老师爱下棋");}
}class TeacherTest {public static void main(String[] args) {//需求:我要测试LoveDemo中的love()方法LoveDemo ld= new LoveDemo();Love l= new Teacher();ld.method(l);}
}

这篇关于类名、抽象类名、接口作为形式参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135389

相关文章

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

Java抽象类Abstract Class示例代码详解

《Java抽象类AbstractClass示例代码详解》Java中的抽象类(AbstractClass)是面向对象编程中的重要概念,它通过abstract关键字声明,用于定义一组相关类的公共行为和属... 目录一、抽象类的定义1. 语法格式2. 核心特征二、抽象类的核心用途1. 定义公共接口2. 提供默认实

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置