Java中的引數傳遞有哪些?通俗易懂
前言
為什麼要寫這個呢,因為新手在學習過程中,對這些引數的傳遞經常是有一點迷糊或者懼怕的感覺,那麼本文就簡單帶你們學習一下。下面介紹這三種型別。1. 類名作為形參和返回值
- 類名作為方法的形參 :
方法的形參是類名,其實需要的是該類的物件
實際傳遞的是該物件的【地址值】- 類名作為方法的返回值:
方法的返回值是類名,其實返回的是該類的物件
實際傳遞的,也是該物件的【地址值】
示例程式碼:
class Cat {
public void eat() {
System.out.println("貓吃魚");
}
}
class CatOperator {
public void useCat(Cat c) { //Cat c = new Cat();
c.eat();
}
public Cat getCat() {
Cat c = new Cat();
return c;
}
}
public class CatDemo {
public static void main(String[] args) {
//建立操作類物件,並呼叫方法
CatOperator co = new CatOperator();
Cat c = new Cat();
co.useCat(c);
Cat c2 = co.getCat(); //new Cat()
c2.eat();
}
}
2. 抽象類作為形參和返回值
- 抽象類作為形參和返回值
方法的形參是抽象類名,其實需要的是該抽象類的子類物件
方法的返回值是抽象類名,其實返回的是該抽象類的子類物件
程式碼實現:
abstract class Animal {
public abstract void eat();
}
class Cat extends Animal {
@Override
public void eat() {
System.out.println("貓吃魚");
}
}
class AnimalOperator {
public void useAnimal(Animal a) { //Animal a =new Cat();
a.eat();
}
public Animal getAnimal() {
Animal a = new Cat();
return a;
}
}
public class AnimalDemo {
public static void main(String[] args) {
//建立操作類物件,並呼叫方法
AnimalOperator ao = new AnimalOperator();
Animal a = new Cat();
ao.useAnimal(a);
Animal a2 = ao.getAnimal(); //new Cat()
a2.eat();
}
}
3. 介面名作為形參和返回值
- 介面作為形參和返回值
方法的形參是介面名,其實需要的是該介面的實現類物件
方法的返回值是介面名,其實返回的是該介面的實現類物件
示例程式碼:
interface Jumpping {
void jump();
}
class JumppingOperator {
public void useJumpping(Jumpping j) { //Jumpping j = new Cat();
j.jump();
}
public Jumpping getJumpping() {
Jumpping j = new Cat();
return j;
}
}
class Cat implements Jumpping {
@Override
public void jump() {
System.out.println("貓可以跳高了");
}
}
public class JumppingDemo {
public static void main(String[] args) {
//建立操作類物件,並呼叫方法
JumppingOperator jo = new JumppingOperator();
Jumpping j = new Cat();
jo.useJumpping(j);
Jumpping j2 = jo.getJumpping(); //new Cat()
j2.jump();
}
}
4. 內部類
相關文章
- java 中引數的傳遞Java
- OFBiz中的引數傳遞
- java 傳遞引數的兩種方式Java
- linux中main引數傳遞LinuxAI
- js中函式引數值傳遞和引用傳遞JS函式
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- Java引數傳遞是傳值還是傳引用?Java
- Java中方法引數傳遞詳析Java
- python中函式的引數傳遞Python函式
- C/C++中的引數傳遞方式C++
- Java方法04:命令列傳遞引數、可變引數Java命令列
- java方法中只有值傳遞,沒有引用傳遞Java
- JS的方法引數傳遞(按值傳遞)JS
- Mybatis引數傳遞MyBatis
- JNI傳遞引數
- 請求引數的傳遞
- 函式的引數傳遞函式
- 從request中傳遞過來的引數資訊
- 獲取url中?後面傳遞的引數
- React事件傳遞引數React事件
- 路由元件傳遞引數路由元件
- 說說不知道的Golang中引數傳遞Golang
- SSM框架中Mybatis傳遞引數的幾種方法SSM框架MyBatis
- 獲取url傳遞傳遞的某個引數的值
- C#引數傳遞之值引數C#
- Java中的值傳遞和引用傳遞Java
- C++引數的傳遞方式C++
- 如何計算PHP函式中傳遞的引數數量PHP函式
- GO中的函式設計時候,引數傳遞選擇傳遞值還是傳遞指標?Go函式指標
- 繼承中引數傳遞及呼叫順序繼承
- ajax傳遞的引數值包含單引號
- java中如何給多執行緒中子執行緒傳遞引數?Java執行緒
- Shell學習【引數傳遞】
- JavaScript函式傳遞引數JavaScript函式
- out,ref,params引數傳遞
- 利用閉包傳遞引數
- SpringMVC之引數傳遞SpringMVC
- JavaScript函式引數傳遞JavaScript函式