(六)java中方法的封装及调用

        面向对象三大特征:封装、继承、多态。这里就说一下封装,继承和多态后面会详细介绍。

封装

        其实封装思想并不只存在于我们的编程中,在日常生活中,我们习以为常的很多事物都体现着封装思想。例如:

  • 我们买的蛋糕要放在盒子里从烘焙店带回家。
  • 我们操控电脑不是将电脑拆开去直接控制里面的cpu、主板。
  • 我们不知道电脑的生产步骤不影响我们使用电脑。

        以上都是封装思想在生活中的提现,在编程中,封装也存在以下优点:

  1. 保护代码内部
  2. 方便代码调用
  3. 降低代码耦合度
  4. 提高代码复用率

        接下来看一下封装思想在代码中的提现。

方法

        方法,又称函数,是代码的集合。

        方法的使用主要分为方法的定义和方法的调用。一个定义好的方法在调用之前是不会执行的。

方法的定义

        方法的定义又称为封装的方法

       语法:

访问权限修饰符 修饰符 返回值类型 方法名(形参列表){
    方法体
    return 返回值;
}
  1. 访问权限修饰符:后面详细介绍,目前先使用public。
  2. 修饰符:后面详细介绍,目前先使用static。
  3. 返回值类型:返回值的数据类型,如果没有返回值或返回值为null,则返回值类型使用void。
  4. 方法名,自定义,一般遵守小驼峰命名规范,并要做到见名知意。
  5. 形参列表,相当于声明一些变量,如果有多个变量,变量中间用逗号( , )隔开。()
  6. 方法体,这个方法中要执行的java代码。
  7. 返回值,方法执行结束之后要返回的数据。

例如:

public static void test(){
    System.out.println("test")
}

        定义了一个名为test的方法,这个方法没有形参,没有返回值。

public static void test2(int num){
    System.out.println(num);
}

        定义了一个名为test2的方法,调用该方法需要给这个方法传值

public static boolean test3(){
    System.out.println("test3")
    return true;
}

        定义了一个名为test3的方法,方法执行结束后会返回true。

方法的调用

        方法在定义好之后并没有被执行,只要在调用之后才会执行。

语法:

方法名(实参列表);
数据类型 变量名 = 方法名(实参列表);
  1. 方法名:要调用的方法的方法名。
  2. 数据类型:与返回值的数据类型一致
  3. 变量名:用于接收方法执行结束之后的返回值,如果没有返回值,不能接收。如果有返回值,可以选择接收,也可以选择不接收。
  4. 实参列表:调用方法需要传入的参数,需要与方法的形参列表 数据类型相同 数量相同 顺序相同。

方法的重载关系

        方法的重载关系,就是在同一个类中,方法名相同,形参列表不同的两个方法。

例如:

public class Funciton {
    public static void main(String[] args) {
        print();
        print("有参");
    }

    public static void print() {
        System.out.println("无参方法");
    }

    public static void print(String str) {
        System.out.println(str);
    }
}

        由于我们两个方法的方法名虽然相同,但是由于我们在调用方法时传入的参数不同,所以计算机可以知道我们要调用的是哪个方法。

方法的重复调用

         其实方法的重复调用很简单,就是方法中调用方法,如:

public class Funciton {
    public static void main(String[] args) {
        
    }

    public static void A(){
        B();
    }
    public static void B(){
        C();
    }
    public static void C(){
        
    }
}

递归

        递归其实就是特殊的调用,在某个方法中调用它自己。例如:

public class Funciton {
    public static void main(String[] args) {

    }

    public static void A(){
        A();
    }

}

        或者采用间接的方式调用方式形成递归:

public class Funciton {
    public static void main(String[] args) {

    }

    public static void A(){
        B();
    }
    public static void B(){
        C();
    }
    public static void C(){
        A();
    }
}

        递归很容易形成死循环,所以我们在实际开发中应当尽量避免这种情况,特殊情况除外,如:遍历目录及其子目录和文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值