javaSE之static关键字的方法

关于static的用法 JavaSE里应该就这些了吧,我觉得有一个主要的点要搞清楚,关于static相关的方法就一目了然了。

★被static修饰过的成员变量(类变量,也叫静态变量)也好,方法也好,都是优先于实例变量出现(存在)的。

故about static方法有以下几点特性:

1.静态方法(被static修饰的方法)只能访问静态的成员(属性或方法);

--因为这个时候,静态方法和静态成员已经出现和存在了,对象此时还未出现。当然访问不了非静态的成员(实例变量和方法)了。

2.非静态的方法,既能访问非静态成员,也能访问静态成员。

--因为非静态的方法,是通过对象来访问的。也就是对象的方法出现存在的时候,static修饰后的静态成员早就已经存在了,当然可以两者都访问到。

3.静态方法中,不可以有this,super关键字的存在。

--因为this和super是用来特指某对象的,而静态方法出现存在的时候,对象还未出现存在,当然不能用它们来代表对象。

▲4.static只能在类里修饰成员,故而被static修饰的方法内部(大括号内)的只是局部变量而已,不可被static修饰。

eg.

class Person{

String name;

static int age;

static void test1(){

int age=33;        //这是静态方法内部的局部变量,前缀不可有static.(参考特性4)

System.out.println(age);

//

}

void test2(){

int age=66;

System.out.println(age);

}

}

public class Study{

public static void main(String[] args){

Person.test1();

//类来访问成员时,因存在先后问题,此时只有类方法可以调用(即test1方法)。输出为33

Person one=new Person();

one.age;

one.test1();

one.test2();

//对象来访问成员,此时即非静态方法,因为对象后出现,故既可以访问成员变量age,也可访问test1方法和test2方法.

参考优先级,输出结果为0 33  66

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值