Java开发——13.引用类型方法的参数和返回值

简介: 引用类型方法的参数和返回值

引用数据类型:

Java中只有两种数据类型:基本数据类型和引用数据类型,所以除了基本数据类型以外的所有类型都可以归结到引用数据类型中。基本类型可以作为成员变量、作为方法的参数以及作为方法的返回值,那么当然引用类型也是可以的。


今天讲三种引用数据类型作为方法的参数和返回值:普通类、抽象类以及接口。



普通类-作为方法的参数及返回值:


作为形参:

普通类-作为方法的形参

方法的形参是类名,其实需要的是该类的对象 实际传递的是该对象的【地址值】


publicclassStudent {
publicvoidstudy(){
System.out.println("好好学习,天天向上");
    }
}
publicclassStudentDemo {
//把普通类当作一个参数publicvoidmethod(Studentstudent){
student.study();
    }
}
publicclassStudentTest {
publicstaticvoidmain(String[] args) {
StudentDemost=newStudentDemo();
Students=newStudent();//作为参数传递给StudentDemo 类中的method方法st.method(s);
    }
}


作为返回值:

普能类-作为方法的返回值

方法的返回值是类名,其实返回的是该类的对象 实际传递的,也是该对象的【地址值】


publicclassStudent {
publicvoidstudy(){
System.out.println("好好学习,天天向上");
    }
}
publicclassStudentDemo {
//返回值类型为一个类publicStudentgetStudent(){
returnnewStudent();
    }
}
publicclassStudentTest {
publicstaticvoidmain(String[] args) {
StudentDemost=newStudentDemo();
Studentstudent=st.getStudent();//返回的是一个Student对象,所以可以用对象直接接收student.study();
    }
}




抽象类-作为方法的参数及返回值:


抽象类作为形参和返回值

1.方法的形参是抽象类名,其实需要的是该抽象类的子类对象

2.方法的返回值是抽象类名,其实返回的是该抽象类的子类对象


作为形参:



publicabstractclassPerson {
publicabstractvoidstudy();
}
publicclassPersonDemo {
publicvoidmethod(Personp){
p.study();
    }
}
//抽象类作为参数,必须实例化publicclassStudentextendsPerson {
@Overridepublicvoidstudy() {
System.out.println("好好学习,天天向上!!");
    }
}
//测试publicclassPersonTest {
publicstaticvoidmain(String[] args) {
PersonDemopd=newPersonDemo();
//抽象类需要一个具体类来实现Personp=newStudent();
//method的参数是一个抽象类,那抽象类如何实例化呢? 多态的方式!!!pd.method(p);
    }
}


作为返回值:


publicabstractclassPerson {
publicabstractvoidstudy();
}
publicclassPersonDemo {
//返回对象是一个抽象类publicPersongetPerson(){
//person是一个抽象类,只能通过多态的方法实例化,以下展示代码的分解// Person p = new Student();// return p;returnnewStudent();
    }
}
//具体子类实现抽象类PersonpublicclassStudentextendsPerson {
@Overridepublicvoidstudy() {
System.out.println("好好学习,天天向上!!");
    }
}
//测试publicclassPersonTest {
publicstaticvoidmain(String[] args) {
PersonDemopd=newPersonDemo();
Personperson=pd.getPerson();
person.study();
    }
}




接口类-作为方法的参数及返回值


接口作为形参和返回值:

1.方法的形参是接口名,其实需要的是该接口的实现类对象

2.方法的返回值是接口名,其实返回的是该接口的实现类对象


作为形参:


publicinterfaceLove {
publicabstractvoidshow();
}
publicclassLoveDemo {
//接口作为参数publicvoidmethod(Lovelove){
love.show();
    }
}
//子类实现接口publicclassLoveImplimplementsLove {
@Overridepublicvoidshow() {
System.out.println("爱一燕");
    }
}
//测试publicclassLoveTest {
publicstaticvoidmain(String[] args) {
LoveDemold=newLoveDemo();
//需要对接口的参数进行实现化,多态的方法Lovelove=newLoveImpl();
//参数需要的是一个接口ld.method(love);
    }
}


作为返回值:


publicinterfaceLove {
publicabstractvoidshow();
}
publicclassLoveDemo {
//接口作为返回值publicLovegetLove(){
// 接口不能直接返回,需要实例化,多态的方式// Love love = new LoveImpl();// return love;returnnewLoveImpl();
    }
}
//子类实现接口publicclassLoveImplimplementsLove {
@Overridepublicvoidshow() {
System.out.println("爱一燕");
    }
}
//测试publicclassLoveTest {
publicstaticvoidmain(String[] args) {
LoveDemold=newLoveDemo();
Lovelove=ld.getLove();
love.show();
    }
}
相关文章
|
1天前
|
Java
Java String 避免空指针的方法
Java String 避免空指针的方法
4 0
|
1天前
|
Java 数据安全/隐私保护 Spring
Java 中 Spring Boot 框架下的 Email 开发
Java 中 Spring Boot 框架下的 Email 开发
18 2
|
2天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
14 4
|
2天前
|
XML JavaScript Java
详解Java解析XML的四种方法
详解Java解析XML的四种方法
15 1
|
2天前
|
存储 Java API
掌握8条方法设计规则,设计优雅健壮的Java方法
掌握8条方法设计规则,设计优雅健壮的Java方法
|
2天前
|
Java C语言
详解java方法与递归
详解java方法与递归
11 3
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
11 0
|
2天前
|
存储 Java 数据库连接
使用Java开发桌面应用程序
使用Java开发桌面应用程序
20 0
|
2天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
15 0
|
2天前
|
分布式计算 负载均衡 Java
构建高可用性Java应用:介绍分布式系统设计与开发
构建高可用性Java应用:介绍分布式系统设计与开发
13 0