方法

一、方法是什么,为什么要用方法?

java语言中的方法在其他语言可以成为函数,对于一些复杂的代码逻辑,如果想做到代码重复使用,就可以将这些代码放在一个大括号 “{}”中,并且起一个名字。使用代码的时候,字节知道名字调用即可。

格式:

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

    方法体

    return 返回值;

}

二、方法的执行原理

方法在调用的时候,才会给该方法在内存中分配空间。如果这个方法只是定义没有调用,则不会在内存中分配空间。

方法在调用的时候在“栈”中分配空间。方法调用其实就是在“压栈”,方法结束其实就是“弹栈”。

顺序执行:

public class MethodTest {

    //入口
    public static void main(String[] args) {
        int i = 100;
        m1(i);
    }

    public static void m1(int i) {
        m2(i);
    }

    public static void m2(int i) {
        m3(i);
    }

    public static void m3(int i) {
        System.out.println("m3方法中的i=" + i);
    }
}

递归调用:

public class MethodTest {

    //入口
    public static void main(String[] args) {
        int n = 5;
        int reValue = method(n);

        System.out.println(reValue);
    }

    public static int method(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n + method(n -1);
        }
    }
}

三、关于java类的构造函数

1、构造方法语法:

修饰符列表 构造方法名(形式参数列表) {

    方法体

}

2、构造方法的方法名必须和类名一致

3、构造方法 作用?第一创建对象,第二给成员变量赋值

4、构造方法如何调用?new 构造方法名(实参);在堆中开辟空间存储对象

5、如果一个类没有提供任何构造方法,系统默认提供无参的构造方法。但如果已经手动的提供了构造方法,那么系统不会再提供任何构造方法。

6、成员变量到底什么时候赋值?只有在调用构造方法的时候,才会给成员变量赋值。

四、方法的重写

1、什么时候方法要进行重写?

如果父类中的方法已经无法满足子类的业务需求,需要将父类中的方法重新写一遍。

2、子类如果重写弗雷中的方法之后,子类对象一定调用的是重写之后的方法

3、发生方法覆盖的条件

    1)发生在具有继承关系的两个类之间

    2)必须具有相同的方法名,相同返回值类型,相同的参数列表

    3)重写的方法不能比被重写的方法拥有更低的访问权限

    4)重新的方法不能比被重写的方法抛出更宽泛的异常

    5)是有的方法不能被覆盖

    6)构造方法不能被覆盖,因为构造方法无法被继承

    7)静态的方法不存在覆盖

    8)覆盖指的是成员方法,和成员变量无关。

4、继承最基本的作用:代码重用。继承最重要的作用:方法可以重写。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值