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
- 形式引數和返回值型別的對比型別
- JavaScript形式引數和實際引數JavaScript
- Day10 函式基礎+函式三種定義形式 + 函式的返回值、物件和引數 + 可變長引數函式物件
- c++函式引數和返回值C++函式
- DWR中Java方法的引數及返回值、物件javabeanJava物件Bean
- 07:函式之函式的引數和返回值函式
- Java對比有引數和無引數Java
- PHP接收GET中文引數亂碼深入研究PHP
- C# 如何以引數的形式呼叫.exe程式C#
- Java引數-Xms和-Xmx的區別Java
- 介面測試並不只是測試引數和返回值
- 引數和返回值裡面到底用指標還是value指標
- 細說函式返回值與引數函式
- MVC接收以post形式傳輸的各種引數MVC
- dwr框架帶引數,而且有返回值的方法呼叫框架
- 基礎才是重中之重~Emit動態構建方法(引數和返回值)MIT
- 使用AFNetworking進行引數形式的GET請求
- Java替換RequstBody和RequestParam引數的屬性Java
- kettle 引數——變數引數和常量引數變數
- GO語言————6.2 函式引數與返回值Go函式
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- Java進行post和get傳引數Java
- EeayDecode:解碼合約的自定義錯誤、事件和函式引數與返回值事件函式
- 深入瞭解 Java 方法和引數的使用方法Java
- vb.net 介面POST方式傳引數提交返回值
- Java(三)引數Java
- 深入研究Java StringJava
- Java - 可變引數的使用Java
- java 中引數的傳遞Java
- 引數和變數變數
- 使用自定義委託來呼叫Lua中的多返回值和長引數型別函式型別函式
- Java異常的深入研究與分析Java
- Java基礎:類的深入研究(轉)Java
- SMS簡訊通API——(2)引數與返回值詳解API
- iOS 將網址中%形式的引數進行UTF8編碼iOS
- Java不定長引數Java
- 【Java】可變引數Java