首页 > 编程语言 >Java方法详解

Java方法详解

时间:2023-12-12 22:57:25浏览次数:29  
标签:Java args 传递 详解 参数 方法 public

Java方法详解

1.何为方法

类似于其他语言的函数

Java方法是语句的集合,共同完成一个功能

设计方法的原则

一个方法实现一个功能,有利于后期的管理和拓展!

命名:首小写+驼峰命名。

2.方法的定义

修饰符 返回值类型 方法名(参数类型 参数名){

方法体

return 返回值;
}

实参:实际传递的参数

形参:方法传递的形式定义的参数

3.方法的调用

  • 调用方法:对象名.方法名(实参表);

  • 两种调用方法的方式:根据方法的返回值来选择。

拓展:

值传递::传递对象的一个副本,即使副本被改变,也不会影响源对象,因为值传递的时候,实际上是将实参的值复制一份给形参。

(相当于函数直接传递实参数值)

引用传递:传递的并不是实际的对象,而是对象的引用,外部对引用对象的改变也会反映到源对象上,因为引用传递的时候,实际上是将实参的地址值复制一份给形参。

(相当于函数传入的是地址值)

说明:对象传递(数组、类、接口)是引用传递,原始类型数据(整形、浮点型、字符型、布尔型)传递是值传递。

4.方法的重载

一个类中有两个方法的方法名相同,但是参数列表不同

返回类型可以相同。

5.命令行传参

运行一个程序的时候再传递消息,靠传递命令行参数给main()函数实现。

package com.paial.base;

public class Demo01 {

   public static void main(String[] args) {

       for(String x: args){
           System.out.println(x);
      }

       for(int i = 0;i < args.length;i++){
           System.out.println("arg" + i + ":" + args[i]);
      }
  }

}

 

 

6.可变参数

  • 在指定参数类型后加...

  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通参数必须在它之前声明!

package com.paial.base;

//可变参数
public class Demo02 {

   public static void main(String[] args) {
       new Demo02().test(1,2,3,4,5);
  }

   //相当于传入一个边长数组
   public void test(int... numbers){
       for(int x: numbers){
           System.out.println(x);
      }
  }
}
 

标签:Java,args,传递,详解,参数,方法,public
From: https://www.cnblogs.com/PaiAL/p/17898043.html

相关文章

  • 使用CEF(七)详解macOS下基于CEF的多进程应用程序CMake项目搭建
    由于macOS下的应用程序结构导致了CEF这样的多进程架构程序在项目结构、运行架构上有很多细节需要关注,这一块的内容比起Windows要复杂的多,所以本文将会聚焦macOS下基于CEF的多进程应用架构的环境配置,并逐一说明了CMake的相关用法和CEF应用配置细节。前言在进行搭建之前,我们首先必......
  • [JavaScript] JS中如何跳出循环/结束遍历
    [JavaScript]JS中如何跳出循环/结束遍历直接抛结论,下表是JS中常用的实现循环遍历的方法的跳出/结束遍历的办法,经过测试后的总结。可能各位大佬还有其他的办法,我在此表示大佬NB。 序号方法breakcontinuereturnreturntruereturnfalse结论1for循环成功跳出本次循......
  • 查询工具方法的使用
    1.通过LambdaQueryWrapper对象构建表示数据库查询--eq方法设置查询条件eq方法:通过“实体::方法”引用表的字段,后面放--userId 和 followUserId 是变量,它们的值将用于构建查询的条件。publicResultisFollow(LongfollowUserId){//获取当前登录的userId......
  • 无涯教程-Java - while 语句函数
    只要给定条件为真(true),Java编程语言中的while循环语句就会重复执行目标语句。while-语法while(Boolean_expression){//Statements}在这里,声明可以是单个语句或语句块。条件可以是任何表达式,并且true是任何非零值。while-示例publicclassTest{publics......
  • Java第八课_构造和静态
    2.面向对象的编程构造publicclassPractice{publicstaticvoidmain(String[]args){Personperson1=newPerson();Personperson2=newPerson("lisi");Personperson3=newPerson("哪吒",3);}}publicclass......
  • Java登陆第二十三天——JavaScript对象、JSON、事件
    JS中声明对象的两种格式方法1,newobject()然后依次添加属性或方法栗子:<script>//初始化对象varuser=newObject();//给对象添加属性并赋值user.name="张三";user.age=18;//给对象添加方法user.say=functi......
  • 【一个队列实现栈】Java队列——Queue接口-LinkedList实现类
    leetcode225.用队列实现栈题意:用一个队列实现栈题解:(1)弹栈:将队头开始的前size()-1个元素全部出队然后重新入队,使队尾元素循环到队头,然后弹出(2)获取栈顶元素:先将队头开始的前size()-1个元素全部出队然后重新入队,使队尾元素循环到队头,此时队头元素即为栈顶元素;然后再重新循环siz......
  • 无涯教程-Java - Non Access Modifiers函数
    Java提供了许多非访问修饰符来实现许多其他功能。static修饰符:用于创建类方法和变量的。final修饰符:用于最终确定类,方法和变量。abstract修饰符:用于创建抽象类和方法。volatile修饰符:用于线程的已同步。static(Static)修饰符Static变量static关键字用于创......
  • Java并发(十八)----常见线程安全类及实例分析
    1、常见线程安全类StringIntegerStringBufferRandomVectorHashtablejava.util.concurrent(JUC)包下的类这里说它们是线程安全的是指,多个线程调用它们同一个实例的某个方法时,是线程安全的。Hashtabletable=newHashtable();​newThread(()->{  ......
  • 【双栈实现队列】Java——Stack类
    leetcode232.用栈实现队列题意:双栈实现队列;要求每个入队、出队操作均摊O(1)复杂度题解:用一个栈in维护入队元素,另一个栈out维护出队元素出队或取队头元素:首先判断栈out是否为空,如果为空,将栈in中的元素pop()到栈out中,那么栈out栈顶元素即为原队列队头元素。(米奇妙妙屋啊~)判断......