Java方法详解

在Java语言中,方法表示类和对象能做什么,对于调用者来说,有一个输入和输出的关系。输入的是参数,输出的是结果。

方法的语法格式

修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

上面的参数不是必须的,可以直接用()中不带任何参数,如果方法的返回类型为void,那方法内的retun 也可以不用,如果有其他类型,那return的类型必须和返回值类型一致。

怎么调用方法

因为java的面向对象特性,方法是不能单独存在的,它是类所包含的。在外部被调用的时候需要对象或者类,如果方法有static修饰,那就可以用类直接调用改方法。当然在自己的类中可以在其他的方法中被随意调用。

实例

我将构建一个Person的类,它有两个方法,一个方法打印出“我是方法1”,一个打印出“我是方法1”,一个方法调用内部的方法1,一个带参数输入的方法,重载的方法。

/**
 * Person 类
 */
public class Person {


    /**
     * 需要对象实例才可以被调用的
     */
    public void fun1() {

        System.out.println("我是方法1");
    }


    public static void fun2() {
        System.out.println("我是方法2");
    }

    public void fun3() {

        System.out.println("我调用了方法1");
        fun1();
    }


    /**
     * 带参数输入的方法
     * @param str
     */
    public void fun4(String str) {

        String getStr = str;
        System.out.println(getStr);
    }

    /**
     *  带返回值的方法
     * @return
     */
    public String fun5() {
        return "666";
    }


    public String fun5(String str) {
        return str;
    }

    public String fun5(String str, int number) {
        return str + number;

}

 

    @Override

    public String toString() {

        return "重写了toString";

    }

}

调用方法:如果方法用static修饰,直接用类名就可以调用该方法。

方法直接使用类调用:

/**
 * 主函数
 * @param args
 */
public static void main(String[] args) {
    

    // 直接调用
    Person.fun2();

    Person person = new Person();

    // 通过对象去调用
    person.fun1();

    person.fun2();

    person.fun3();
}

打印结果:
我是方法2
我是方法1
我是方法2
我调用了方法1
我是方法1

在方法中比较重要的两个就是返回值和参数。返回的是结果,输入的是参数。

  • 参数(形参和实参)

形参是方法表示时候的参数,它告诉调用者我需要什么样的参数。

实参是调用者实际传入的参数,方法需要什么类型参数,我就给你的这个参数的值就是实参。

/**
 * 主函数
 * @param args
 */
public static void main(String[] args) {


    Person person = new Person();


    String str = "我是实参";

    person.fun4(str);

    person.fun4("我是直接传入的实参");
}

打印结果:

我是实参
我是直接传入的实参
  • 返回值

带返回值的方法,可以将最后的值,赋值给相对应的参数定义。

/**
 * 主函数
 * @param args
 */
public static void main(String[] args) {


    Person person = new Person();


    String s = person.fun5();

    System.out.println(s);
}

打印结果:
666

方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数

方法重载就是我们两的方法名相同,但是传入的参数类型是不一样的。

查看重载方法的其他参数:使用快捷键control + p

方法重写

子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

/**
 * 主函数
 * @param args
 */
public static void main(String[] args) {


    Person person = new Person();


    String s = person.toString();

    System.out.println(s);

}

 

打印结果:

重写了toString

好了,上面就是我对方法的一些理解,有不足的地方,希望和大家相互探讨学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值