关于静态方法和非静态方法的相互调用

静态方法和非静态方法的相互访问


class TT {
	public void play() {
		System.out.println("TT play");
	}
}
public class MainTest {
	TT t = new TT();
	public void go() {
		System.out.println("is going");
	}
	
	public static void main(String[] args) {
		t.play();
		go();
	}
}
类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。

静态成员函数或方法是在类初始化时加载完成。
静态方法加载完成后,对象可能未建立,所以为静态不能调用非静态,编译会报错。
静态方法对非静态方法发起调用时,需实例化包含非静态方法的类的对象。

静态可以调用静态 非静态既可以调用静态也可以调用非静态。

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值