抽象类和接口作为返回值类型的问题

 1 /*
 2     返回值类型
 3         引用类型:
 4             类:返回的是该类的对象
 5             抽象类:返回的是该抽象类的子类对象
 6             接口:
 7 */
 8 abstract class Person {
 9     public abstract void study();
10 }
11
12 class PersonDemo {
13     public Person getPerson() {
14         //Person p = new Student();
15         //return p;
16
17         return new Student();
18     }
19 }
20
21 class Student extends Person {
22     public void study() {
23         System.out.println("Good Good Study,Day Day Up");
24     }
25 }
26
27 class PersonTest2 {
28     public static void main(String[] args) {
29         //需求:我要测试Person类中的study()方法
30         PersonDemo pd = new PersonDemo();
31         Person p = pd.getPerson(); //new Student();  Person p = new Student(); 多态
32         p.study();
33     }
34 }

抽象类作为返回值类型

接口作为返回值类型

 1 /*
 2     返回值类型
 3         基本类型:
 4         引用类型:
 5             类:返回的是该类的对象
 6             抽象类:返回的是该抽象类的子类对象
 7             接口:返回的是该接口的实现类的对象
 8 */
 9 //定义一个爱好的接口
10 interface Love {
11     public abstract void love();
12 }
13
14 class LoveDemo {
15     public Love getLove() {
16         //Love l = new Teacher();
17         //return l;
18
19         return new Teacher();
20     }
21 }
22
23 //定义具体类实现接口
24 class Teacher implements Love {
25     public void love() {
26         System.out.println("老师爱学生,爱Java,爱林青霞");
27     }
28 }
29
30 class TeacherTest2 {
31     public static void main(String[] args) {
32         //如何测试呢?
33         LoveDemo ld = new LoveDemo();
34         Love l = ld.getLove(); //new Teacher(); Love l = new Teacher(); 多态
35         l.love();
36     }
37 }
时间: 08-14

抽象类和接口作为返回值类型的问题的相关文章

C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

原文地址:http://www.cnblogs.com/landeanfen/p/5501487.html 使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 此篇就围绕这四块分别来看看它们的使用. 一.void无返回值 void关键字我们都不陌生,它申明方法没有返回值.它的使用也很简单,我们来看一个示例就能明白. public class ORDER { publi

[转]C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

本文转自:http://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T content) 2.Ok(). Ok(T content) 3.NotFound() 4.其他 5.自定义IHttpActionResult接口的实现 三.HttpResponseMessage 四.自定义类型 五.总结 正文 前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学

WebApi 接口返回值不困惑:返回值类型详解。IHttpActionResult、void、HttpResponseMessage、自定义类型

首先声明,我还没有这么强大的功底,只是感觉博主写的很好,就做了一个复制,请别因为这个鄙视我,博主网址:http://www.cnblogs.com/landeanfen/p/5501487.html 使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult     (需要MVC高版本才会支持,VS2012/2013不支持,请升级DLL文件或者到VS2015开发环境) HttpResponseMessage 自定义类型 此篇就

Web Api 接口返回值不困惑:返回值类型详解

前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 WebApi 接口参数:传参详解,这篇博文内容本身很基础,没想到引起很多园友关注,感谢大家的支持.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了下WebApi的传参机制,今天再来看看WebApi里面另一个重要而又基础的知识点:返回值.还是那句话:本篇针对初初使用WebApi的同学们,比较基础,有兴趣的且看看. 使用过Webapi

函数式接口作为参数和作为返回值类型的案列

package com.itheima.demo3.LambdaTest; /** * @author newcityman * @date 2019/8/3 - 22:15 * 使用java.lang.Runnable接口作为参数,同时使用Lambda进行传参 */public class Demo01Runnable { // 定义一个方法startThread,方法的参数就是函数式接口Runnable public static void startThread(Runnable run)

MyBatis中Mapper的返回值类型

insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.delete语句的返回值可以是Integer.Long和Boolean.在定义Mapper接口时直接指定需要的类型即可,无需在对应的<insert><update><delete>标签中显示声明. 对应的代码在 org.apache.ibatis.binding.MapperMe

MyBatis查询结果resultType返回值类型详细介绍

一.返回一般数据类型比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById(Integer id); SQL 映射文件: <!-- 指定 resultType 返回值类型时 String 类型的, string 在这里是一个别名,代表的是 java.lang.String 对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap' 基本数据

SpringMVC返回值类型及响应数据类型

1.SpringMVC 和 Struts2 的优略分析 共同点: 它们都是表现层框架,都是基于 MVC 模型编写的. 它们的底层都离不开原始 ServletAPI. 它们处理请求的机制都是一个核心控制器. 区别: Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter. Spring MVC 是基于方法设计的,而 Struts2 是基于类,Struts2 每次执行都会创建一个动作类.所以 Spring MVC 会稍微比 Struts2 快些. Spring MVC

oc对象函数什么时候返回值类型使用instancetype

oc中定义对象函数时经常会返回本类类型的对象,此时返回值类型用instancetype或者本类对象*都可以,什么区别呢? 其实主要区别在返回值是不是self并且有继承 如果返回值是self并且作为父类,那么返回值最好写成instancetype 举例说明: 父类的声明 @interface Father : NSObject @property(readwrite,nonatomic,assign)NSInteger item; //元素自增 为了比较自增返回类型定为instancetype -