方法是what?
例如:Java中的输出语句System.out.println()中,System是类,out是对象,println()即为方法。类似于其他语言的函数。
- 方法是语句的集合,在一起执行一个功能
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
- 设计方法时,最好保持方法的原子性:一个方法中只完成一个功能
例1:add和test都属于方法,不放在main里面是为了保持main里简洁
public class Demo01 {
//main方法,viod不返回东西
public static void main(String[] args) {
// int sum = add(1, 2);
// System.out.println(sum);
test();//调用
}
//加法,返回int
public static int add(int a, int b) {
return a + b;
}
public static void test() {
//输出100以内能被5整除的数,每行三个
for (int i = 0; i < 100; i++) {
if (i % 5 == 0) {
System.out.print(i + "\t");//空格println会自动换行
}
if (i % 15 == 0) {
System.out.print("\n");
//或者System.out.println();
}
}
}
}
方法的结构
一个方法包括一个方法头和一个方法体。具体包含修饰符、返回值类型、方法名、参数类型和方法体
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
- 修饰符:可选
- 返回值类型:如int返回int类型数,没有返回用void
- 方法名:字面意思
- 参数类型:参数像一个占位符。当方法被调用时,传递值给参数。这个值称为实参或变量,参数列表是指方法的参数类型、顺序和参数的个数。参数也是可选的。
- 形参:在方法被调用时用于接收外界输入的数据。如例1中的a,b
- 实参:调用方法时实际传给方法的数据。如例1中int sum = add(1, 2);中的1和2。
- 方法体:包含具体语句,定义该方法的功能。
方法调用
调用方法:对象名.方法名(实参列表)
当方法返回一个值时,方法调用通常被当作一个值,例如:
int lager = max(1,2);
当方法返回值是void,方法调用一定是一条语句,例:
System.out.println("Hello,World!");
例2:
public class Demo02 {
public static void main(String[] args) {
int max = max(2, 2);
System.out.println(max);
}
//比大小
public static int max(int a, int b){
int result = a;
if (a==b){
System.out.println("a==b");
// return 0;//终止方法,也可以初始化result为a。
}
if (a > b){
result = a;
}else {
result = b;
}
return result;
}//static表示可以直接调用public static void main (String[] args)
}
方法的调用分为静态方法和非静态方法
静态方法 static
例:
当a,b都是静态或都是非静态的时候,可以互相调用,但当a为静态的时候,b为非静态的时候,a不能调用b
public void a(){
b();//可以直接调用b
}
public void b(){
}
public class Demo02 {
//和类一起加载的
public static void a(){
// b();//可以直接调用b
}
// 类实例化之后才存在
public void b(){
}
}