类,抽象类,接口作为方法的返回值类型 day10
/*
返回值类型
基本类型:
引用类型:
类:当你看到一个类作为方法的返回值类型的时候,将来方法内部应该返回该类或该类的子类对象
抽象类:当你看到一个抽象类作为方法的返回值类型的时候,将来方法内部应该返回继承该抽象类的具体子类对象
接口:当你看到一个接口作为方法的返回值类型的时候,将来方法内部应该返回实现了该接口的具体子类对象
*/
类
class Student1{
public void fun1(){
System.out.println("欢迎大家来到数加学院!");
}
}
class Demo1{
public Student1 show(){
return new Student1();
}
}
public class StudentDemo1 {
public static void main(String[] args) {
Demo1 demo1 =new Demo1();
Student1 s1 = demo1.show(); // Student1 s1 = new Student1()
s1.fun1();
System.out.println("s1: "+s1);
Student1 s2 = demo1.show();
System.out.println("s2: "+s2);
}
}
抽象类
abstract class Demo2{
public abstract void fun1();
}
class Demo2Zi extends Demo2{
@Override
public void fun1() {
System.out.println("魏一民是阿里巴巴的高级开发程序员");
}
}
class Student2{
public Demo2 show(){
return new Demo2Zi();
}
}
public class StudentDemo2 {
public static void main(String[] args) {
Student2 student2 = new Student2();
Demo2 d1 = student2.show(); //Demo2 d1 = new Demo2Zi() 抽象多态
d1.fun1();
}
}
接口
interface Inter1{
public abstract void fun1();
}
class Inter1Impl implements Inter1{
@Override
public void fun1() {
System.out.println("昨天南京下冰雹了");
}
}
class Student3{
public Inter1 show(){
return new Inter1Impl();
}
}
public class StudentDemo3 {
public static void main(String[] args) {
Student3 student3 = new Student3();
Inter1 i1 = student3.show(); //Inter1 i1 = new Inter1Impl() 接口多态
i1.fun1();
// Student3 student4 = new Student3();
// Inter1 i2 = new Student3().show();
new Student3()
.show()
.fun1(); // 调用方式:链式调用
}
}
分类:
java / 面向对象 / 多态
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)