1、定义
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可
"两同一不同":同一个类、相同方法名
参数列表不同:参数个数不同、参数类型不同
2、举例
Arrays类中重载的sort() / binarySearch()
3、.如何判断是重载
跟方法的权限修饰符、返回值类型、形参变量名、方法都没有关系
4、在通过对象调用方法时,如何确定某一个指定的方法
方法名==>参数列表
5、示例
- public class OverLoadTest {
-
- public static void main(String[] args) {
- OverLoadTest test=new OverLoadTest();
- test.getSum(1,2);
- }
-
- public void getSum(int i,int j){
- System.out.println("1");
- }
- public void getSum(double d1,double d2){
- System.out.println("2");
- }
- public void getSum(String s,int j){
- System.out.println("3");
- }
- public void getSum(int i,String s){
- System.out.println("4");
- }
-
- }
如上,有四个getSum方法,构成了四个重载
1、关于变量的赋值
①如果变量是基本数据类型,此时赋值的是变量所保存的数据值
②如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值
2、示例
- public class ValueTransferTset {
-
- public static void main(String[] args) {
- System.out.println("基本数据类型");
- int m=10;
- int n=m;
- System.out.println("m = "+m+", n = "+n);
- n=20;
- System.out.println();
- System.out.println("m = "+m+", n = "+n);
-
- Order o1=new Order();
- o1.orderId=1001;
- Order o2=o1;
- System.out.println("o1.orderId = "+o1.orderId+", o2.orderId = "+o2.orderId);
- o2.orderId=1002;
- System.out.println("o1.orderId = "+o1.orderId+", o2.orderId = "+o2.orderId);
- }
- }
-
- class Order{
- int orderId;
- }
1、形参与实参
形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形象的数据
2、值传递机制:
* 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
* 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值
3、示例
- public class ValueTransferTset1 {
- public static void main(String[] args) {
-
- int m=10;
- int n=20;
- System.out.println("m = "+m+", n = "+n);
-
- ValueTransferTset1 test=new ValueTransferTset1();
- test.swap(m,n);
-
- System.out.println("m = "+m+", n = "+n);
-
- }
- public void swap(int m,int n){
- int temp=m;
- m=n;
- n=temp;
- System.out.println("m = "+m+", n = "+n);
- }
- }
交换两个变量的值的操作:
int temp=m;
m=n;
n=temp;