形式参数与返回值
一.形式参数
数据类型分为两大类:基本类型和引用类型。对于不同的数据类型,传递的参数也不同。基本类型的数据传递的是值,而引用类型则传递的是地址。
基本类型:要的是该基本类型的数据值。
add(3,2)
public int add(int a,int b){
return a+b
}
上面这段代码在传递参数的时候传递的是实际的值
引用类型:要的是该引用类型的对象。
A:数组 要的是该数据类型数组的对象。(地址值)
public class ArgsDemo {
public static void main(String[] args) {
//数组 要的是该数据类型数组的对象。(地址值)
//创建一个数组
int[] arr = {1,2,3};
printArr(arr);
}
//写一个方法是一个数组遍历的方法
public static void printArr(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
B:类 要的是该类或者其子类的对象。(地址值)
package exp_03;
//要的是该类或者其子类的对象。(地址值)
class Person{
public void show(){
System.out.println("Person的show()方法");
}
}
class Man extends Person{
public void function(){
System.out.println("Man的function方法");
}
}
class PersonDemo{
public void method(Person p){
//当传递子类对象的时候,Person p = new Man();,这个是以多态的方式进行传参
p.show();
}
}
public class ArgsDemo1 {
public static void main(String[] args) {
PersonDemo pd = new PersonDemo();
pd.method(new Man());//子类对象
}
}
C:抽象类 要的是该抽象类的子类对象。(地址值)
D:接口 要的是该接口的实现类对象。(地址值)
二.返回值
返回值之基本类型:
基本类型:返回的是该基本类型的数据值。
public class RetrunDemo {
public static void main(String[] args) {
//调用这个加法
System.out.println(add(1, 2));
}
//创建一个方法,可以做两个数的加法,并返回两个数的和
public static int add(int a,int b){
return a+b;
}
}
返回值之引用类型:
返回值是类名:其实返回的是该类对象或者其子类对象。(地址值)
返回值是抽象类名:要的是该抽象类的子类对象。(地址值)
package exp_03;
//返回值是接口名:要的是该接口的实现类对象。(地址值)
interface People{
public abstract void eat();
}
class Mann implements People{
@Override
public void eat() {
System.out.println("人喜欢吃肉");
}
}
class PeopleDemo{
public People getPeople(){
People m = new Mann();//接口的实现类对象。
return m;
}
}
public class ReturnDemo {
public static void main(String[] args) {
PeopleDemo pd = new PeopleDemo();
People p = pd.getPeople();
p.eat();
}
}