方法和包

方法存在的意义:
  1. 是能够模块化的组织代码(当代码规模比较复杂的时候).
  2. 做到代码被重复使用, 一份代码可以在多个位置使用.
  3. 让代码更好理解更简单.
  4. 直接调用现有方法开发, 不必重复造轮子
方法定义语法:

基本语法

//参数是可选的,一个方法也可以不包含参数。
Public static  方法返回值类型  方法名称(参数类型  形参){
	方法体;
	Return 返回值;
}
//public static称为方法的修饰符,修饰符是可选的,它用来告诉编译器如何调用该方法

return也可以用在void方法中,它用于种植方法并返回到方法的调用者,偶尔用于改变方法中的正常流程控制。
传递给方法的实际参数应该与方法定义中的形式参数具有相同的数目、类型和数据。
当程序调用方法时,程序控制转到了被调用的方法中。执行return语句后或遇到方法结束的右括弧时,被调用的方法将程序控制归还给调用者。
每当调用一个方法时,系统将参数、局部变量和系统寄存器存储在一个区域中,这个区域称为堆栈。
当一个方法调用另一个方法时,调用者的堆栈空间处理不动,开辟新的空间处理新方法的调用。
一个方法返回到调用者时,其相应的空间也就被释放。
== 注意:==
在Java当中不存在方法声明,直接调用就可以
在Java中只有按值传递一种传参的方法(引用–》低配版的指针 也是按值传递)

方法重载:(overload)

条件:
  1. 函数名相同
  2. 参数列表不同(参数类型或参数个数)
    //参数列表指明方法中参数的类型、次序和数量。方法名和参数列表一起构成方法签名
  3. 返回值类型不影响重载
  4. 必须在同一个类当中或者在继承关系上
    例如:
public class Demo1 {
    public static void main(String[] args) {
        //比较3和4的大小,返回较大的数
        System.out.println("The maximum between 3 and 4 is " + max(3,4));
        //比较3.0和5.4的大小,返回较大的数
        System.out.println("The maximum between 3.0 and 5.4 is " + max(3.0,5.4));
        //比较3.0,5.4和10.14三个数的大小,并返回最大值
        System.out.println("The maximum between 3.0,5.4 and 10.14 is " + max(3.0,5.4,10.14));
    }
    //使用三个max方法的重载
    public static int max(int num1,int num2){
        if(num1<num2){
            return num2;
        }else{
            return num1;
        }
    }
    public static double max(double num1,double num2){
        if(num1<num2){
            return num2;
        }else{
            return num2;
        }
    }
    public static double max(double num1,double num2,double num3){
        //调用第二个max方法先比较前两个数的大小,再用前两个中较大的数和的第三个数比较
        return max(max(num1,num2),num3);
    }
}

结果:

"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -javaagent:D:\VS2013\lib\idea_rt.jar=25528:D:\VS2013\bin -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\桌面\JAVA13\20191023\out\production\20191023" Demo1
The maximum between 3 and 4 is 4
The maximum between 3.0 and 5.4 is 5.4
The maximum between 3.0,5.4 and 10.14 is 10.14

Process finished with exit code 0

包:

包用于对类进行组织
使用包的四个理由:

  1. 查找定位类。功能相似的类可以放在同一个保重以便查找定位。
  2. 避免命名冲突。
  3. 便于发布软件。
  4. 保护类。包可以提供对类的保护,允许同一个包中的类访问这些类中被保护的成员,而外部的类则无此权限。

包的命名习惯: 用小写字母表示
包的目录: Java要求包名与文件系统的目结构一一对应。包实际上就是包含类的字节码的目录
使用包中的类有两种方式:一是使用类的全称;二是使用import语句。

import javax.swing.*;//表示导入swing包中所有的类;*表示按需导入声明。
总结:

在本次的方法包的学习中,掌握到了方法重载的基本条件,知道在Java中不存在指针,因此传参的方式不存在按址传递,只有按值传递。而对于使用方法交换两个数时采用的是引用的形式传递参数,而引用的方式也是按值传递参数,这是Java和C语言第一个不同的地方。第二个不同是Java可以同时定义声明几个名字相同的方法,而在C语言中是不允许函数名字完全相同的。因此,在接下来的学习中要细心认真对待。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值