一、方法的所属性
- 方法类似于函数。但与函数不同的是,方法不能独立存在,必须定义在类里面。
- 定义在类中的方法。从逻辑上看,
如果该方法有static修饰,该方法属于类本身,应该用类调用。
如果该方法无static修饰,该方法属于对象本身。 - 方法不能独立执行。方法一定要有调用者。
如果调用同一个类中的方法,可以省略调用者,此时系统会添加默认的调用者。
如果该方法是无static的方法,添加this作为默认的调用者。
如果该方法是有static的方法,添加类名作为默认的调用者。
二、形参可变的方法
- 类型… 形参名
本质上就是数组。
上面写法等同于: - 类型[] 形参名
类型…
写法的好处是:调用方法时更加方便。既可以直接传入多个元素,系统会自动将它们封装成数组,也可用数组。
写法的缺点是:这种写法只能作为形参列表的最后一个形参。(一个方法中最多只能有一个“个数可变的形参”)
public class VarArgs
{
public void test(int a,String... names)
{
System.out.printlln("a参数为:"+a);
System.out.printlln("names数组长度为:"+names.length);
for(int i = 0;i < names.length;i++)
{
System.out.printlln(names[i]);
}
}
public static void main(String... args)
{
VarArgs va = new VarArgs();
va.test(-2,"ff","java",".org");
//-2
//3
//ff
//java
//.org
va.test(34,new String[]{"孙悟空","猪八戒"});
//34
//2
//孙悟空
//猪八戒
}
}
public class VarArgs
{
public void test(int a,String[] names)
{
System.out.printlln("a参数为:"+a);
System.out.printlln("names数组长度为:"+names.length);
for(int i = 0;i < names.length;i++)
{
System.out.printlln(names[i]);
}
}
public static void main(String[] args)
{
VarArgs va = new VarArgs();
va.test(34,new String[]{"孙悟空","猪八戒"});
//34
//2
//孙悟空
//猪八戒
}
}