方法调用的进阶
- 语法:【权限修饰符】 返回值类型 方法名(参数的类型 参数名…) {}
- public void aa(){}
- 【权限修饰符】可写可不写,返回值类型 方法名(){}必须写
同一个类中,同一种类型的方法可以直接相互调用
下方是一个学生类,有两个方法,分别是aa和bb,这两个方法在同一个学生类中,修饰符都是Public,也就是说,都是公共类型的方法。
我可以直接在aa方法里直接调用bb 方法。也可以在bb方法里直接调用aa方法。
public class Student {
// 没参数,没有返回值的方法aa
public void aa(){
System.out.println("我是aa方法");
bb(12,"你好呀");//同一个类中,同一种类型的方法可以直接相互调用
}
// 有参数,没有返回值的方法,像这里a,b这样的不确定的参数,是形参,
public void bb(int a,String b){
System.out.println("我是bb方法,参数可以有多个,要用逗号隔开");
}
我在测试类Text01中调用这个aa方法。
public class Text01 {
public static void main(String[] args) {
Student student=new Student();//创建一个成员student对象
student.aa();//通过创建的成员对象进行访问aa方法
}
}
被static修饰的方法是静态方法。这里的 main方法就是一个静态方法,静态方法中,不能直接访问非静态的成员。但是可以通过创建对象的方式进行访问,所以这里用创建对象的方式访问aa方法而不是直接访问aa方法。
运行结果:
我是aa方法
我是bb方法,参数可以有多个,要用逗号隔开
方法权限修饰符(目前知道有个印象就行)
- public 公共访问控制符,可以被任何对象访问
- static 静态修饰符,被static修饰的方法是静态方法,静态方法只能访问静态成员变量或调用静态成员方法。
- 静态方法可以通过创建对象的方法间接访问非静态的成员,静态方法中不能使用this或super。调用静态方法时,可以使用类名直接调用,也可以用某个具体的对象名来调用,其格式如下
类名.静态方法名();
对象名.静态方法名(); - this代表调用该方法的对象