JAVA的访问权限&静态&this关键字

1.public private protected和默认的区别
1. private
private只能在本类中访问

2.public
public任何地方都能访问

3.protected
本包内才能访问,包外的话只有子类(被extends)能访问

空值默认=protected-包外子类访问权限

2.JAVA的静态static
静态表示该成员属于某个类,而不属于某个对象,
如果不加static修饰的成员是对象成员,也就是归每个对象所有的。 

加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的
所以直接用 类名.成员 调用。
JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

访问静态成员的时候,方法也得加static

所以当遇到private static String nation; 的时候,怎么在外面的类怎么设置nation信息呢?
在当前类中添加:
static void setNation(String nation){    //因为设置的是static对象,所以添加static
     Person.nation=nation;     //因为static属于类,所以需要用 类名.对象 来设置(而非this)
}
静态是这个类的属性,不管创建多少个实例,只要修改了一个实例对象的静态成员,其它实例对象的这个静态成员也会改变。
有静态成员与非静态,不能定义为静态的

3.this关键字
this代表的是对象,代表哪一个对象呢? 哪个对象调用this所在的方法,this就代表那个对象。
构造函数的调用易产生同名,添加this进行区分 (添加this才能成为成员变量,直接name就是局部变量)

凡是访问对象中的数据的方法都持有this引用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值