java形式引數和返回值的深入研究
1 形式引數
- 基本型別:形參的改變不影響實際引數
- 引用型別:
類:需要的是該類的具體物件
抽象類:需要的是該具體類的具體子類物件
介面:需要的是該介面的具體實現類物件
- 類
class Student{
public void study(){
System.out.println("向錢看,向厚賺。");
}
}
class StudentDemo{
public void method(Student s){//Student s = new Student()
s.study();
}
}
class Demo{
public static void main(String[] args){
//我要使用Student中的study()方法
Student s = new Student();
s.study();
System.out.println("-----------------------");
//我要使用StudentDemo類中的method()方法
//StudentDemo sd = new StudentDemo();
//Student ss = new Student();
//sd.method(ss);
//sd.method(new Student());
new StudentDemo().method(new Student());
System.out.println("-----------------------");
}
}
- 抽象類多型
abstract class Person{
public abstract void study();
}
class PersonDemo{
public void method(Person p){//Person p = new Stu()
p.study();
}
}
class Stu extends Person{
public void study(){
System.out.println("向錢看,向厚賺。買房,買車,娶媳婦。");
}
}
class Demo{
public static void main(String[] args){
//我要使用PersonDemo類中的method()方法
PersonDemo pd = new PersonDemo();
Person p = new Stu();//抽象類多型
//目前這個方法呼叫不了,因為抽象類無法例項化
//抽象類可以依賴具體的子類實現例項化
pd.method(p);
}
}
- 介面多型
interface Inter{
public abstract void hobby();
}
class InterDemo{
public void method(Inter i){ // Inter i = new Stu();
i.hobby();
}
}
class Stu implements Inter{
public void hobby(){
System.out.println("向錢看,向厚賺");
}
}
class Demo{
public static void main(String[] args){
// 使用InterDemo類中的method()方法
InterDemo id = new InterDemo();
Inter i = new Stu(); // 介面多型
id.method(i);
}
}
2 返回值
類:返回該類的具體物件
抽象類:返回該抽象類的具體子類物件
介面:返回該介面的具體實現類物件
- 類
class Stu{
public void study(){
System.out.println("向錢看,向厚賺");
}
}
class StuDemo{
public Stu get(){
// Stu s = new Stu();
// return s;
return new Stu();
}
}
class Demo{
public static void main(String[] args){
// 使用Stu類中的study方法
// 要求不能直接建立Stu物件
// 使用StuDemo獲取一個Stu物件
StuDemo sd = new StuDemo();
Stu s = sd.get();
s.study();
}
}
- 抽象類
abstract class Person{
public abstract void study();
}
class PersonDemo{
public Person get(){
// Person p = new Tea();
// return p;
return new Tea();
}
}
class Tea extends Person{
public void study(){
System.out.println("老師愛學習");
}
}
class Demo1{
public static void main(String[] args){
PersonDemo pd = new PersonDemo();
Person p = pd.get(); // new Tea();
// 使用Person中的study方法
// 使用PersonDemo中的get方法獲取一個person物件
p.study();
}
}
- 介面
interface Inter{
public abstract void lover();
}
class InterDemo{
public Inter get(){
// Inter i = new Teacher();
// return i;
return new Teacher();
}
}
class Teacher implements Inter{
public void lover(){
System.out.println("愛車,愛錢,愛美女。。。");
}
}
class Demo2{
public static void main(String[] args){
InterDemo id = new InterDemo();
Inter i = id.get();
i.lover();
}
}
相關文章
- Java中形式引數與返回值問題Java
- 形式引數和返回值型別的對比型別
- Day10 函式基礎+函式三種定義形式 + 函式的返回值、物件和引數 + 可變長引數函式物件
- c++函式引數和返回值C++函式
- 07:函式之函式的引數和返回值函式
- Java對比有引數和無引數Java
- 方法的形式引數是類名時如何呼叫
- 介面測試並不只是測試引數和返回值
- 細說函式返回值與引數函式
- Java替換RequstBody和RequestParam引數的屬性Java
- 深入研究Java StringJava
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- EeayDecode:解碼合約的自定義錯誤、事件和函式引數與返回值事件函式
- GO語言————6.2 函式引數與返回值Go函式
- 引數的定義和引數的傳遞
- 深入瞭解 Java 方法和引數的使用方法Java
- Java(三)引數Java
- vb.net 介面POST方式傳引數提交返回值
- Java - 可變引數的使用Java
- 使用自定義委託來呼叫Lua中的多返回值和長引數型別函式型別函式
- iOS 將網址中%形式的引數進行UTF8編碼iOS
- Java不定長引數Java
- 【Java】可變引數Java
- Java的方法可變長引數Java
- Python的and和or的返回值Python
- 介面測試讀取 Excel 中引數返回值全部錯誤Excel
- Bash變數和引數變數
- python變數和引數Python變數
- 數列遞推形式的極限&正定,負定,不定與形式導數
- java語言邏輯類、引數類和字元類Java字元
- APM Java agent 引數配置Java
- java 傳遞引數的兩種方式Java
- Java 的可變引數與 Collections 類Java
- Java方法04:命令列傳遞引數、可變引數Java命令列
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- 函式的呼叫方式和引數函式
- OpenAI的Temperature和Top P 引數OpenAI
- java和C#使用證照對引數簽名、加密JavaC#加密