Java定義形式及可變參數(shù)實例解析
這篇文章主要介紹了Java定義形式及可變參數(shù)實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
Java中的方法類似于面向過程程序設計中的函數(shù),但與其不同的是,Java中的方法不能獨立存在,它屬于類或?qū)ο?。既然方法屬于類或?qū)ο?,那么,方法的調(diào)用者就必須是類或?qū)ο?。(當然,之后將會提到的同一個類中方法互相調(diào)用,實際上也是類或?qū)ο笤谧鳛檎{(diào)用者)
還是先上一段代碼:
package com.my.pac05;
/**
* @author Summerday
* @date 2019/12/1 15:30
*/
public class MethodTest {
public static void main(String[] args) {
//通過類直接調(diào)用static修飾的first()方法
MethodTest.first();
//MethodTest.second();錯誤
//方法由static修飾,可以通過類直接調(diào)用static修飾的方法
//創(chuàng)建實例對象,訪問沒有static修飾的普通方法
MethodTest method = new MethodTest();
method.second();
//接收secondVal方法的返回值
int secondValue = method.secondVal();
System.out.println(secondValue);//10
method.third(2);
//接收thirdVal方法的返回值
int thirdValue = method.thirdVal(20);
System.out.println(thirdValue);//20
method.fourth('a', 'b');
method.fifth("hello","what's","your","name");
System.out.println();
method.sixth(new String[]{"hello","what's","your","name"});
}
//static修飾的靜態(tài)方法
public static void first(){
System.out.println("static: no param...");
}
//無參數(shù)(無參無返)
public void second() {
System.out.println("no param..");
}
//無參有返
public int secondVal(){
return 10;
}
//一個參數(shù)(有參無返)
public void third(int param1) {
System.out.println("one param.. value is " + param1);
}
//有參有返
public int thirdVal(int param1){
return param1;
}
//兩個參數(shù)
public void fourth(char param1, char param2) {
System.out.println("two params.. param1 is "
+ param1 + ",param2 is " + param2);
}
//多個參數(shù)1
public void fifth(String...params){
System.out.println("*type...param*");
for(String param:params){
System.out.print(param+" ");
}
}
//錯誤:public void fifth1(String...params,int a )
//多個參數(shù)2
public void sixth(String[] params){
System.out.println("*type[] param*");
for(String param:params){
System.out.print(param+" ");
}
}
}
方法調(diào)用
使用static修飾的方法
//通過類直接調(diào)用static修飾的fourth()方法
MethodTest.first();
//也可以通過創(chuàng)建的對象調(diào)用static修飾的方法
method.first();
//static修飾的靜態(tài)方法
public static void first(){
System.out.println("static: no param...");
}
- 屬于這個類本身。
- 類和對象都可以調(diào)用。
- 類和對象調(diào)用的結(jié)果相同。
沒有static修飾的方法
//MethodTest.second();錯誤 //創(chuàng)建實例對象,訪問沒有static修飾的普通方法 MethodTest method = new MethodTest(); method.second();
//無static修飾的普通方法
public void second() {
System.out.println("no param..");
}
- 屬于類的對象,不屬于類本身。
- 只能由對象作為調(diào)用者。
- 使用不同對象調(diào)用同一個方法,結(jié)果可能不同。
方法的定義格式
無參無返
//無參無返
public void second() {
System.out.println("no param..");
}
無參有返
//無參有返
public int secondVal(){
return 10;
}
有參無返
//有參無返
public void third(int param1) {
System.out.println("one param.. value is " + param1);
}
有參有返
//有參有返
public int thirdVal(int param1){
return param1;
}
形參個數(shù)可變的方法
采用數(shù)組形參來定義
把數(shù)組作為形參加入形參列表中。類似于我們用的最多的public static void main(String[] args)相當于main方法接收一個String類型的數(shù)組,也就是命令行參數(shù),關(guān)于命令行參數(shù),就暫時不提啦。
//多個參數(shù)2
public void sixth(String[] params){
System.out.println("*type[] param*");
for(String param:params){
System.out.print(param+" ");
}
}
只能接收數(shù)組。
可以出現(xiàn)在形參列表的任意位置。
采用JDK1.5新特性來定義
JDK1.5之后,可以在最后一個參數(shù)類型和參數(shù)名之間加上...
//多個參數(shù)1
public void fifth(String...params){
System.out.println("*type...param*");
for(String param:params){
System.out.print(param+" ");
}
}
//需要在最后一個參數(shù)類型和參數(shù)名之間?。?!
//錯誤:public void fifth1(String...params,int a )
- 表明可以接收多個參數(shù)值,多個參數(shù)值被當作數(shù)組傳入。
- 傳入?yún)?shù)形式可以是多個參數(shù)以‘,'相隔,也可以傳入數(shù)組。
- 只能處于參數(shù)列表之后,所以一個方法中最多只能有一個長度可變的形參。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis createcriteria和or的區(qū)別說明
這篇文章主要介紹了mybatis createcriteria和or的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot使用Redisson實現(xiàn)延遲執(zhí)行的完整示例
這篇文章主要介紹了SpringBoot使用Redisson實現(xiàn)延遲執(zhí)行的完整示例,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-06-06
SpringBoot全局配置long轉(zhuǎn)String丟失精度問題解決方案
這篇文章主要介紹了SpringBoot全局配置long轉(zhuǎn)String丟失精度問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08
Java編程實現(xiàn)對十六進制字符串異或運算代碼示例
這篇文章主要介紹了Java編程實現(xiàn)對十六進制字符串異或運算代碼示例,簡述了異或運算以及具體實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12

