- 定义方法的语法结构:修饰符 返回值类型|void 方法名(形参列表){方法体}
- 1.一个方法只做一件事
- 2.方法之间可以直接调用,在静态方法中调用非静态方法是,需要通过:对象.方法名(实参)的方式调用
- 3.在同一个类中,非静态方法可以直接调用,在不同的类中,非静态方法只能通过对象调用
public class Test {
//定义无参数,没有返回值的方法
public void method(){
System.out.println("------method-----");
//return;//return的作用是结束当前方法的执行
}
//int a=10;int b=20;
public int add(int a,int b){
int sum=a+b;
return sum;
}
public int addThree(int a,int b,int c){
// int sum=a+b+c;
//非静态方法可以直接调用非静态方法
int sum=add(a, b)+c;
return sum;
}
public static void main(String[] args) {
Test test=new Test();
// test.method();
// int total=test.add(10, 20);
int total=test.addThree(10, 20, 30);
System.out.println("total:"+total);
}
}
方法构造
- 构造方法:构造方法是用于初始化一个对象的内部状态的特殊方法
- 1.定义构造方法的语法格式:修饰符 类名(严格区分大小写)(形参列表){方法体}
- 2.当一个类中没有写任何构造方法时,系统会默认分配一个无参的构造方法
- 3.当手动写了一个带参数的构造方法时,系统就不会再分配默认的无参构造方法,
- 建议不管无参构造方法是否有用,当写了带参构造方法的时候,都手动写上无参数构造方法
- 4.构造方法是在创建对象的时候自动调用,不能通过对象.构造方法()的方式调用
- 5.构造方法的作用是对成员变量进行初始化
public class Test {
public String name;
public int age;
//定義無參數構造方法
public Test(){
System.out.println("aaa");
}
//定義有參數構造方法
public Test(String name){
// this(); 调用当前类的无参构造方法 只能写在第一行
this.name=name;
}
public Test(String name,int age){
// this(name);//表示调用当前类的只有字符串参数的构造方法
}
public static void main(String[] args){
//創建對象,创建对象时就调用了构造方法
Test test=new Test("yang");
System.out.println(test);
}
public String toString() {
return "Test [name=" + name + ", age=" + age + "]";
}
方法重载
- 方法重载
- 1.方法名必须相同,与修饰符无关与返回值类型无关。
- 2.方法重载只与参数列表相关,只要方法名相同,参数列表不同i,则构成方法重载
- 3.参数列表不同包括:
-
1>参数个数不同,能够形成方法重载。
-
2>参数个数相同,数据类型相同,但是顺序不同,也能够成方法重载。
-
3>参数个数相同,但是数据类型不同,也能构成方法重载。
- 4.方法重载后,只有当方法被调用的时候,系统会根据实参来匹配对应的重载方法。
public class ChongZai {
public void method1(){
System.out.println("------method1----");
}
public int method1(int age){
System.out.println("-----method2------");
return 0;
}
private String method1(String name,int age){
return "young";
}
public void method1(int age,String name){
System.out.println(age+name);
}
public void method1(String name,String sex){
System.out.println(name+sex);
}
public static void main(String[] args){
ChongZai test1=new ChongZai();
test1.method1();
test1.method1(20);
test1.method1(20,"Hmuxin");
test1.method1("Hmuxin","man");
}
}