一、方法分类
方法可以分为:实例方法(普通方法)、静态方法(类方法)、构造方法
1.实例方法(普通方法):
格式:访问限制修饰 方法的返回值类型 方法的名称(参数列表){方法体}
访问限制修饰 -------- public / 空白
方法返回值类型 ------- 方法运行结果的数据类型;方法执行以后没有结果,使用void 代替方法的返回值类型;方法的返回值类型如果不是void,方 法体中的最后一句话需要return 结果;
方法的名称---合法的标识符【首字母小写,从第二个单词开始首字母大写】
(参数列表)---可以有多个参数中间用“,”分割【(int num,String name,char sex)】
也可以一个参数都没有【()】
参数就是用来接收方法之外的数据值,进入本方法,参与运算【帮手】
参数格式: 数据类型 变量名称
{方法体}----编写实现具体功能的代码的地方
例如:
public class MyClass {
//实例方法【普通方法】的基本格式:
//访问限制修饰 方法的返回值类型 方法的名称(参数列表){方法体}
public void testShiLiMethod1(){
System.out.println("没有返回值,没有参数的实例方法");
}
//方法的返回值类型如果不是void,方法体中的最后一句话需要return 结果;
//return的这个结果一定要与方法的返回值类型匹配。
public int testShiLiMethod2(){
System.out.println("有返回值,没有参数的实例方法");
return 123;
}
String testShiLiMethod3(int number){
System.out.println("缺省修饰的,有返回值,有1个参数的实例方法");
return "hello";
}
double testShiLiMethod4(double arg1,int arg2){
System.out.println("缺省修饰的,有返回值,有多个参数的实例方法");
double res=arg1+12.5;
return res;
}
}
2.静态方法(类方法):
格式:访问限制修饰 static 方法的返回值类型 方法的名称(参数列表){方法体}
例:
public class TestClass {
//静态方法【类方法】的基本格式:
//访问限制修饰 static 方法的返回值类型 方法的名称(参数列表){方法体}
public static void testStaticMethod1(){
System.out.println("没有返回值,没有参数的静态方法");
}
//方法的返回值类型如果不是void,方法体中的最后一句话需要return 结果;
//return的这个结果一定要与方法的返回值类型匹配。
public static int testStaticMethod2(){
System.out.println("有返回值,没有参数的静态方法");
return 123;
}
static String testStaticMethod3(int number){
System.out.println("缺省修饰的,有返回值,有1个参数的静态例方法");
return "hello";
}
static double testStaticMethod4(double arg1,int arg2){
System.out.println("缺省修饰的,有返回值,有多个参数的静态方法");
double res=arg1+12.5;
return res;
}
}
3.构造方法:
格式:访问限制修饰 类名(参数列表){方法体}
注意:(1)、构造方法没有返回值部分
(2)、方法名称就是类名称
作用:(1)、每一个定义好的类中,默认就有一个无参数的构造方法存在,只是没有显现出来。(2)、当类中出现有参数的构造方法时,有参数的构造方法会覆盖没有显现出来的默认的无参数的构造方法。所以我们就需要将默认的无参数的构造方法手动显示出来。
例:
public class DoxClass {
//构造方法的基本格式:
//访问限制修饰 类名(参数列表){方法体}
//1.构造方法没有方法返回值类型这个部分
//2.方法的名称就是类名
//构造方法的作用:创建java类对象用的
//注意:1.每一个定义好的类中,默认就有一个无参数的构造方法存在,只是没有显现出来
//2.当类中出现有参数的构造方法时,有参数的构造方法会覆盖没有显现出来的默认的无
//参数的构造方法。所以我们就需要将默认的无参数的构造方法手动显示出来。
public DoxClass(){
System.out.println("无参数的构造方法");
}
public DoxClass(String name){
System.out.println("有1个参数的构造方法");
}
public DoxClass(String name,int age){
System.out.println("有多个参数的构造方法");
}
}
二、方法重载
在同一个类中方法的名称相同,参数不同,这种现象就是方法重载
注意: 1.同一个类中
2.参数不同[类型或者个数]
3.方法的重载与方法的返回值类型没有关系
例:
public class TestClass {
//在同一个类中方法的名称相同,参数不同,这种现象就是方法重载
//注意:1.同一个类中
//2.参数不同[类型或者个数]
//3.方法的重载与方法的返回值类型没有关系
//构造方法重载
public TestClass(){}
public TestClass(int number){}
public TestClass(String name){}
//实例方法重载
public void shiLi(){}
public void shiLi(int age){}
/*
//方法的重载与方法的返回值类型没有关系
public int shiLi(int age){
return 123;
}
*/
public int shiLi(double age){
return 123;
}
//静态方法重载
public static void jingTai(){}
public static void jingTai(int age){}
/*
//方法的重载与方法的返回值类型没有关系
public static int shiLi(int age){
return 123;
}
*/
public static int jingTai(double age){
return 123;
}
public static double jingTai(double arg1,double arg2){
return 123;
}
}
总结:方法重载只看名称和参数
三、类的梳理图