类方法中调用本类实例方法

来源:百度知道 编辑:UC知道 时间:2024/06/23 21:46:02
如何在类方法中调用本类中的实例方法,是通过实例化类的对象,再用对象调用实例方法吗?可不可以直接调用呢?

可以事例化调用! 也能直接调用!
把要调用的方法定义为static !
通过类名就可以直接调用!
如:
Class AA
{
public static void show(String s){
.....
System.out.println(s);
}

public void test(){
AA.show("test");
}
}

在sun的sl-275中有明确说明:
static:
类变量(对象共享)可以用类名,对象名点取,间接使用。
类方法 1)static方法中不能直接使用非静态成员, 因
为非静态成员与实例相关,通过对象点取间接使用
2)static方法中不能用this(与实例相关)
3)非static方法中可以使用static成员
static块:和数据成员时并列的位置,用于类初始化
类装入时执行一次(第一次创建对象,第一次使用
static成员,不同的静态块,按在类中的顺序执行)
注:只能修饰成员,不能修饰方法变量.
static方法覆盖时,没有起到覆盖的作用

直接调用的话可以使用this指针,比如

Class A{
private int x,y;
public int abc(int x){
this.x=x;
}
}

这里的this.x就是类本省的成员变量,而等号后面的那个x就是传入函数的值,就这样,程序通过this指针访问了自身

用类名可以直接调用静态方法也(叫类方法)

也就是用static声明的方法

实例化对象可以调用非静态方法

非静态方法必须用实例化的对象调用

静态的则不必