【Java】this关键字与static关键字

一.this关键字
I.this表示本类属性

程序的就近取用原则 使用this,属性名称表示直接从类中寻找同名属性 在类中使用本类属性一定要加上this关键字

II.this表示本类方法
a.this表示本类的构造方法

this (方法参数);//有参构造 this();//无参构造 在构造方法首行使用this(参数)表示调用本类的构造方法

1.this调用本类构造方法必须写在构造方法首行
2.this调用构造方法不能成"环"

b.this表示本类的普通方法

this.方法名称(方法参数); 若在本类中调用普通方法,一般将this加上
尤其是在有继承的情况下,使用this可以明确表示调用的是本类方法

III.this表示当前对象

当前调用的属性或方法是通过那个对象调用的,this就指代他.

二.static(静态的)关键字(重要)
与对象无关!

I.修饰本类属性,称为静态属性(类属性),所有对象共享此属性值;非static属性称为成员变量或对象属性,每个对象都有此属性且值都不一样.

要描述类似国家这种共享属性,可以使用static修饰属性.静态属性一般通过类名直接调用,所有该类对象共享此属性值

  • 定义类时,如何选择实例变量和类属性呢?

在定义类时,99%的情况都不会考虑static属性,以非static属性(即实例变量)为主
如果需要描述共享属性的概念,或者不受对象实例化控制,使用static .
II.修饰本类方法
使用static修饰方法,称为类方法,直接通过类名称调用,与对象实例化无关.
静态方法常见于工具方法.

eg:java.util.Arrays.sort();
System.arraycopy();

问题:
静态属性能否访问类中普通属性?一定不能
答.静态属性与对象无关,而普通属性与对象强相关.

静态属性能否访问类中静态属性?
答:一定可以.

普通方法能否访问类中静态属性?一定可以
答:静态属性共享

Private:修饰属性与方法
static:属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值