1 方法的定义
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
- 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
- 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
- 方法名:定义的方法的名字,必须使用合法的标识符
- 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法
static方法一般称作静态方法,可以不依赖于任何对象,直接通过类名来访问
static变量一般称作静态变量,静态变量和非静态变量的区别:
静态变量被所有对象共享,在内存中只有一个副本,在类初次加载的时候才会初始化
非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响
-
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();
-
}
-
}
2 无参无返回值方法
-
public
class HelloWorld {
-
public static void main(String[] args) {
-
// 创建对象,对象名为hello
-
HelloWorld hello =
new HelloWorld();
-
// 调用方法。通过 对象名.方法名(); 实现
-
hello.showMyLove();
-
}
-
// 定义无参无返回值的方法
-
public void showMyLove() {
-
System.out.println(
"Hello World!");
-
}
-
}
3 无参带返回值方法
- 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
- 方法的返回值最多只能有一个,不能返回多个值
- 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
-
public
class HelloWorld {
-
public static void main(String[] args) {
-
// 创建名为hello的对象
-
HelloWorld hello =
new HelloWorld();
-
// 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
-
double avg = hello.calcAvg();
-
System.out.println(
"平均成绩为:" + avg);
-
}
-
// 定义一个返回值为double类型的方法
-
public double calcAvg() {
-
double java =
92.5;
-
double php =
83.0;
-
double avg = (java + php) /
2;
// 计算平均值
-
// 使用return返回值
-
return avg;
-
}
-
}
4 带参无返回值方法
- 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
- 调用方法时,实参不需要指定数据类型
- 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
- 当方法参数有多个时,多个参数间以逗号分隔
-
public
class HelloWorld {
-
public static void main(String[] args) {
-
// 创建对象,对象名为hello
-
HelloWorld hello =
new HelloWorld();
-
// 调用方法,传入两门课程的成绩
-
hello.calcAvg(
94,
81);
-
}
-
/*
-
* 功能:计算两门课程考试成绩的平均分并输出平均分
-
* 定义一个包含两个参数的方法,用来传入两门课程的成绩
-
*/
-
public void calcAvg(int num1, int num2) {
-
double avg = (num1+num2) /
2.0;
-
System.out.println(
"平均分:"+avg);
-
}
-
}
5 带参带返回值方法
-
import java.util.Arrays;
-
-
public
class HelloWorld {
-
public static void main(String[] args) {
-
HelloWorld hello =
new HelloWorld();
-
int[] scores={
79,
52,
98,
81};
-
//调用方法,传入成绩数组,并获取成绩的个数
-
int count=hello.sort(scores);
-
System.out.println(
"共有"+count+
"个成绩信息!");
-
}
-
/*
-
* 功能:将考试成绩排序并输出,返回成绩的个数
-
* 定义一个包含整型数组参数的方法,传入成绩数组
-
* 使用Arrays类对成绩数组进行排序并输出
-
* 方法执行后返回数组中元素的个数
-
*/
-
public int sort(int[] scores){
-
Arrays.sort(scores);
-
System.out.println(Arrays.toString(scores));
-
return scores.length;
-
//返回数组中元素的个数
-
-
}
-
}
6 main方法
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法。
方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数。这是java的规范。
-
public
class HelloWorld {
-
public static void main(String args[]) {
-
System.out.println(
"Hello World!");
-
}
-
}
7 方法的重载
问: 什么是方法的重载呢?
答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
问: 如何区分调用的是哪个重载方法呢?
答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
-
public
class HelloWorld {
-
public static void main(String[] args) {
-
-
// 创建对象
-
HelloWorld hello =
new HelloWorld();
-
// 调用无参的方法
-
hello.print();
-
// 调用带有一个字符串参数的方法
-
hello.print(
"hello");
-
-
// 调用带有一个整型参数的方法
-
hello.print(
18);
-
}
-
-
public void print() {
-
System.out.println(
"无参的print方法");
-
}
-
-
public void print(String name) {
-
System.out.println(
"带有一个字符串参数的print方法,参数值为:" + name);
-
}
-
-
public void print(int age) {
-
System.out.println(
"带有一个整型参数的print方法,参数值为:" + age);
-
}
-
}
转载:https://blog.csdn.net/zhsworld/article/details/105941316
查看评论