一 方法的定义
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
- 访问修饰符:用于控制类、成员变量(实例变量)和方法的访问权限。 有如下四类:
所以不能修饰方法内部的变量
可被访问范围 | 所在类 | 同一包内其他类 | 其他包内子类 | 其他包内非子类 |
---|---|---|---|---|
private | 可以 | 不可以 | 不可以 | 不可以 |
缺省 | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
static关键字表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法。
其作用是在没有创建对象的情况下进行调用(方法/变量)。被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问
- 返回值类型:如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值;如果方法不返回任何值,则返回值类型指定为 void
- 参数列表:参数可以有多个。多个参数间以逗号隔开。每个参数由参数类型和参数名组成,以空格隔开
public class HelloWorld {
//定义了一个方法名为 print 的方法,实现输出信息功能
public void print() {
System.out.println("Hello World");
}
public static void main(String[] args){
//在 main 方法中调用 print 方法
HelloWorld test=new HelloWorld();
test.print();
}
}
二 方法的调用
https://blog.youkuaiyun.com/plus_left/article/details/83663041
静态方法:有static修饰的方法。
非静态方法:没有static修饰的方法。
静态方法调用静态方法:无论是否在同一类内,均需通过实例化对象调用
静态方法调用非静态方法:同一类内直接调用,不同类内通过类名.方法名(参数列表)调用
非静态方法调用静态方法或非静态方法:
在同一类内,非静态方法可以直接调用静态方法和非静态方法;
在不同类之间,非静态方法需要通过实例化对象才能调用非静态方法;既可以通过实例化对象调用又可以通过类名直接调用静态方法(由于对象的调用方式属于非静态调用方式,所以建议使用类名直接调用静态方法)
什么是实例化
- 在Java中,使用已经定义好的类,创建该类对象的过程称为“实例化”。
- 实例化就是在堆中分配内存的过程,分配的内存即对象。
- 实例化对象的语法:类名 引用变量名 = new 类名();
三 main方法
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法。
方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数。这是java的规范。
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
四 示例
public class Welcome {
// main方法是java程序的入口方法,有固定的格式
public static void main(String[] args){
// 静态方法调用静态方法:直接调用
System.out.println(print1(1,2));
// 静态方法调用非静态方法:实例化对象后再调用
// 实例化对象的语法:类名 引用变量名 = new 类名() ;
Welcome print_print = new Welcome();
System.out.println(print_print.print2(1,2));
}
// 静态方法
public static int print1(int a, int b){
int sum = a + b;
return sum;
}
// 非静态方法
public int print2(int a, int b){
int product = a * b;
return product;
}
}
五 方法的重载
问: 什么是方法的重载呢?
答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
问: 如何区分调用的是哪个重载方法呢?
答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
https://www.sxt.cn/Java_jQuery_in_action/solution_overload.html