1. 程式人生 > >JAVA之當返回值型別和形參為引用引數

JAVA之當返回值型別和形參為引用引數

資料型別分為1、基本資料型別

                       2、引用資料型別 

引用型別是一個物件型別,指向堆記憶體中的地址

當返回值為引用型別時: 1、類 :返回值為引用型別的物件

                                           2、抽象類:返回值型別為抽象類的子類的上轉型物件

                                           3、  介面:返回值型別為介面的實現類的物件

當形參為引用型別時:

                                           1、類 :傳值為該類的物件

                                           2、抽象類:傳值為抽象類的子類的上轉型物件

                                           3、  介面:傳值為介面的實現類的物件

1、當引用型別為類時

public class test {
	public static void main(String[] args) {
	Woman woman = new Woman();
	Man man = woman.a();
	man.eat();
	}
}
class Man{
	public abstract void eat(){
    System.out.println("吃飯");
}
}

class Woman{
	public Man a() {
		return new Man();
	}
}

2、當引用型別為抽象類時

public class test {
	public static void main(String[] args) {
	Woman woman = new Woman();
	Man man = woman.a();
	man.eat();
	}
}
abstract class Man{
	public abstract void eat();
}

class Woman{
	public Man a() {
		return new Son();
	}
}

class Son extends Man {
	public void eat() {
		System.out.println("吃飯");
	}
	public void sleep() {
		System.out.println("睡覺");
	}
}

3、當引用型別為介面時

public class test{
	public static void  main(String [] args) {
		
	}
}
interface Eat{
	public abstract void eatFood();
}
class Man{
	public Eat a() {
		return new Son();
	}
}
class Son implements Eat{
	public void eatFood() {
		System.out.println("吃肉");
	}
}