先说一下你的几个问题

你使用一个类型参数T继承PetHospital,T的类型可能是Hippiater,Customer,Pet等。这种继承方法违反了继承的“is-A”语义,试想一下一个customer或者一个pet是一个PetHospital吗?

web曾当然可以了解bean层的对象,因为你web层的参数一般是来自于表单,那自然必须知道这个表单是为了添加什么对象的。在struts或者spring中的controller都是直接使用并且把form参数封装成bean层的对象的。

delete方法只接受一个id,那怎么知道需要删除的是什么对象?是一个customer?还是一个pet?如果这两者有相同的id?

如果一定要用范型,参考下面代码

public class Entity {

private String id;

//omit getter and setter

}

public class Pet extends Entity{

private String name;

}

public interface EntitiyService {

boolean addOne(T arg);

boolean deleteOne(int id);

List list(int page);

}

public class EntityServiceImpl implements EntitiyService {

@Override

public boolean addOne(T arg) {

System.out.println("save entity " + arg.toString());

return true;

}

@Override

public boolean deleteOne(int id) {

System.out.println("delete entity which type is T");

return false;

}

@Override

public List list(int page) {

System.out.println("query first " + page + " pages result");

return null;

}

}

public class Client {

public static void main(String[] args) {

Pet petFromForm = new Pet();

EntityServiceImpl entityService = new EntityServiceImpl<>();

entityService.addOne(petFromForm);

entityService.deleteOne(1);

entityService.list(3);

}

}

java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?相关推荐

  1. java private 接口_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  2. Java私有方法解释_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  3. 多态部分作业 1.按要求编写Java程序:(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);

    1.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现int m ...

  4. [基础题] 6.(*)按如下要求编写Java程序: (1)编写一个接口:OneToN,只含有一个方法int dispose(int n)

    package HomeWork_10;public class Test_06 { /*6.(*)按如下要求编写Java程序: (1)编写一个接口:OneToN,只含有一个方法int dispose ...

  5. java 接口重载_java,_java 接口中如何声明类似于重载的方法?,java - phpStudy

    java 接口中如何声明类似于重载的方法? 我们的作业要写一个web宠物医院管理系统,因为医生.客户等都包含浏览.添加.删除操作,所以对于service层,我希望有个统一的接口以供servlet中的类 ...

  6. java修饰方法_java接口中方法、属性修饰符详解

    java接口的修饰符:abstract(inteeface本身就是抽象的,加不加abstract都一样). 接口中字段的修饰符:public static final(默认不写) 如下解释: publ ...

  7. java中int和integer的区别_Java异常中throw和throws关键字的区别

    Java中常常弄混的两个关键字,throw和throws,它们有什么区别呢?如何记忆他们,而不至于出错呢? throw和throws 区别 throws:出现在方法的签名中,声明当前方法可能抛出的所有 ...

  8. java 定义一组常量用什么最好_Java语言中定义常量注意事项解析

    一.常量定义的基本注意事项. 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量.当常量被设定后,一般情况下就不允许再进行更改.如可以利用如下的形式来定 ...

  9. java进程间通讯方式有哪些_java 进程间通讯的有几种方法?

    展开全部 进程间通信的方法主要有以下几种: (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另32313133353236313431303231363533e78988e6 ...

最新文章

  1. Nature Methods:微生物来源分析包SourceTracker——结果解读和使用教程
  2. C++设计模式7--外观模式--The Client don't want to know
  3. 与其感慨路难行,不如马上出发
  4. python saml2 认证实例程序demo
  5. SpringCloud实战小贴士:版本依赖关系
  6. 基于多源数据画像的失败用例智能分析
  7. Android 集成Unity项目
  8. coolfire文章之三
  9. Spotfire 对 列 数据进行自定义排序
  10. 《算法和数据结构》学习路线指引
  11. 给大家总结的一份白帽子成长进阶指南(内附学习资源)
  12. 三星s窗口共享android,使用 S 窗口共享轻松让您的三星手机连接电脑
  13. 防止表单重复提交token
  14. ubuntu 我喜欢的快捷键
  15. 8086芯片寄存器简介
  16. 剪不断,理不乱——三层架构之抽象工厂加反射
  17. 【愚公系列】2023年01月 .NET CORE工具案例-CS-Script脚本执行引擎
  18. IUV“经世杯”option3X
  19. go使用zap + lumberjack重构项目的日志系统
  20. 自己动手编写ssh登陆管理工具

热门文章

  1. html怎么添加背景图片_万能的产品介绍PPT页面是怎么炼成的?
  2. 自学python好找工作么-非计算机专业自学Python好找工作吗?
  3. python经典程序实例-Python3经典100例(①)
  4. 化学人学python有前途吗-转载:python之蟒开启理论计算化学的新时代
  5. python中文读音-python3 - 文本读音器
  6. 学python需要什么基础-学习python需要什么基础
  7. python画3d图-python3利用Axes3D库画3D模型图
  8. python自动化办公入门书籍-用Python自动办公,做职场高手(完结)
  9. 从零开始学习python编程-从零开始的Python学习 -- 简单的练习题
  10. python判断点在直线的哪一侧_判断点在直线的一侧