面向对象3——方法

1.方法所属性

。方法不能独立存在。Static修饰属于类,否则属于对象

2.传参机制

。值传递

       。。将实际参数的副本传入方法,参数本身不会受到影响

 

       。。在调用swap方法后a,b值不变

。引用传递

 

       。。swap中的引用sw和main中的引用dw指向同一对象DataSwrap

3.形参个数可变的方法

。Java允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参

。在定义方法时,在最后一个形参类型后面添加三点(…),则表明该形参可接受多个参数值,多个参数值被当做数组传入

。例

 

       。。例中所定义的public void test(int a,String... books);等同于public void test(int a,String[] books);

              *调用时候数组初始化test(5,new String[]{“book1”,”book2”});

              *对比方法调用,使用形参可变方法更为简洁

4.递归方法

。方法体内包含调用自身;隐式循环

5.方法重载

。Java允许同一个类里定义多个同名方法,只要形参列表不同就可以

。Java确定要素

       。。调用者——类/对象

       。。方法名——方法的标识

       。。形参列表——调用时,根据传入的实参进行匹配

。方法重载要求:同一类中方法名相同,形参列表不同

       。。重载与方法返回值、修饰符等无关

。重载方法包含长度可变的形参

 

       。。当定义了同类型的可变长度形参和不可变长度形参重载方法时,不可变长度的形参长度不能是不可变长度形参重载方法

              *即如例子中只有一个字符串参数的调用只能是属于第一个方法,而不能是第二个形参长度可变的方法

       。。常在方法不建议使用形参参数可变的方法,容易降低可读性

猜你喜欢

转载自www.cnblogs.com/Demetris/p/9149753.html