Java入土---方法

Posted 喝茶谢谢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java入土---方法相关的知识,希望对你有一定的参考价值。

方法

什么是方法

Java方法是语句的集合,他们一起执行一个功能。

  • 方法是解决一类问题的的步骤的有序组合
  • 包含于类或对象中
  • 在程序中被创建,在其他地方被引用

通过定义,实现一个功能

一个方法只实现一个功能(原则性问题)

定义及调用

Java的方法类似于其他语言的函数。

方法包含一个方法头和一个方法体,方法还包含:

  • 修饰符,例如public,static,
  • 返回值类型,void,int,String,char等
  • 方法名(遵循命名规则)
  • 参数类型(可以不含任何参数),包括实参跟形参,形参调用后会销毁
  • 方法体,是定义方法功能的部分。
  • return,如果有返回值,一定要将返回值返回,类型跟方法的类型相同

public class Demo1 
    public static void main(String[] args) 
        fly();
    

    public static void fly()
        System.out.println("这是一个方法");
    


在方法中的return,之后的代码不再执行

Java是值传递,基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的

对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。

方法重载

重载就是在同一个类中,有相同的函数名称,根据参数的不同,调用不同的方法。
方法重载规则

  • 方法名必须相同
  • 参数类型必须不同,以作区分
  • 方法的返回类型可以相同,可以不同
  • 仅仅返回类型的不同不足以重载

静态方法

static 修饰的方法,当执行程序时,直接为静态方法创建一块空间,可以直接通过类名.方法名调用

有过代码中大量堆积静态方法,会浪费大量的资源。

静态方法不能被重写!!!

命令行参数

实际上,在main方法中也是可以传递参数的。
例如

//package A
public class Demo1
    public static void main(String [] args)
        System.out.println(args);
    

运用命令行,可以将参数传入main方法中。只不过,需要在src目录下,路径要输入包名
javac Demo1.java
java A/Demo1.class + 参数

之后,会将你输入的参数传入main()当中。

可变参数

也叫不定项参数,在指定参数类型后加一个省略号
一个方法中只能指定一个可变参数,必须是方法的最后一个参数

递归

递归就是本身调用,自己调用自己,递归包含两部分,递归头,递归体

递归头就是标志什么时候结束递归调用,递归体就是具体的代码实现


public static f(int n)
    if(n = 1)
        return 1;//递归头(边界)
    
    else
        return n*f(n-1);
    

//该行代码从而使实现一个n的阶乘。

递归一种算法思想,具体可以去力扣做练习。

以上是关于Java入土---方法的主要内容,如果未能解决你的问题,请参考以下文章

Java入土---常用类

《Java从入门到精通(入土)》字符串 中

Java从入门到入土

《Java从入门到精通(入土)》字符串 下

Java入土---面向对象(OOP)

Java从入门到入土100天,第二天