携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第30天,点击查看活动详情 >>
- static修饰的方法叫做静态方法,用“类名.方法()”调用语法。
示例
[权限修饰符]static 返回值类型 方法名(类型参数1,类型参数2......){
方法体
}
解析:
什么是静态方法呢,从形式上,非常简单,用static修饰的方法,我们就叫做静态方法,静态方法的
访问特点,和静态属性是一样的,可以通过类名加点儿加方法去访问,静态方法的语法,只需要在我们普
通方法的返回值前面加上static,那么这个方法就变成了静态方法。
什么是静态方法
修改售票员类中的实例方法sale()为静态方法,重新执行测试类
class Sun {
public String name;
public static int tickets=5;
public static void sale(){
if (tickets>0)
System.out.println("售票一张,当前剩余:"+--tickets+"张票。");
else
System.out.println("正在售票。票已售完,当前剩余"+tickets+"张票。");
}
}
解析
售票员类中的实例方法sale为静态方法重新执行测试类,改成static,当我们在这个方法,前面加
个static变成静态方法以后,我们发现在方法的内部内幕属性出现了错误,这个错误的原因我们翻译一下,
不能够使一个静态的引用对一个非静态的内容,意思就是说name是,非静态的,我们的这个方法是静态的,
那么静态的方法是不能去访问实例成员,所以说在这里边就出错,静态方法,不能访问实例成员,或者说
只能访问,静态成员,在这里边我们看到ticket没有出错,内部出错了,那我们这个名称呢,在这里边就
体现不出来了,需要把内幕属性删除,紧跟着我们再次去执行一下我们的测试类,但是在测试类当中呢,
我们会发现调用方法的地方全部出现了警告,为什么出现警告,原因就是因为,我们的静态方法访问的时
间推荐,推荐使用静态的方式来访问,就是类名加点儿加方法去访问。