方法的调用
1.static 静态的 属于类的,所有对象公共的,共有的。
2.实例的 非静态的 每个对象单独拥有的。.
注意 :类名只能调用静态的
对象及可以调用实例的,也可以调用静态的
同一个类中的调用:
1.主调:静态方法
被调:静态方法
直接写方法名调用
//静态方法
public static void sta1(){
System.out.println("静态方法sta1");
}
public static void main(String[] args) {
//静态方法调用静态方法
sta1();
}
2.主调:静态方法
被调:实例方法
先创建对象,再对象名.实例方法() 调用
//实例方法
public void fun1(){
System.out.println("实例方法fun1");
}
//静态方法
public static void sta1(){
System.out.println("静态方法sta1");
Hello2 h2 = new Hello2();
h2.fun1();
}
3.主调:实例方法
被调:静态方法
类名.静态方法(),可省略类名调用
//实例方法
public void fun1(){
System.out.println("实例方法fun1");
fun1();
}
//静态方法
public static void sta1(){
System.out.println("静态方法sta1");
}
3.主调:实例方法
被调:实例方法
this.实例方法(),this可省略
//实例方法fun1
public void fun1(){
System.out.println("实例方法fun1");
fun1();
}
//实例方法fun2
public void fun2(){
System.out.println("实例方法fun2");
this.fun1();
}
主调方\被调方 | 静态方法 | 实例方法 |
---|---|---|
静态 | 直接写方法名调 | 创建对象,再调 |
实例 | 直接写方法名调 | 直接写方法名调(省略this) |
不同类中调用
1.主调:静态方法
被调:静态方法
类名.静态方法()
//静态方法sta1
public static void sta1(){
System.out.println("hello3的静态方法sta1");
Hello3_1.sta();
}
2.主调:静态方法
被调:实例方法
先创建对象,再对象名.实例方法() 调用
//静态方法sta1
public static void sta1(){
System.out.println("hello3的静态方法sta1");
Hello3_1.sta();
Hello3_1 h3_1 = new Hello3_1();
h3_1.fun1();
}
3.主调:实例方法
被调:实例方法
先创建对象,再对象名.实例方法() 调用
//实例方法fun1
public void fun1(){
System.out.println("Hello3的实例方法fun1");
Hello3_1 h3_1 = new Hello3_1();
h3_1.fun1();
}
4.主调:实例方法
被调:静态方法
直接写类名.方法名()来调
//实例方法fun1
public void fun1(){
System.out.println("Hello3的实例方法fun1");
Hello3_1.sta();
}
主调方\被调方 | 静态方法 | 实例方法 |
---|---|---|
静态 | 直接写类.方法名调 | 创建对象,再调 |
实例 | 直接写类.方法名调 | 创建对象,再调 |