Java学习笔记-修饰符的使用

Java学习笔记-修饰符的使用

看了菜鸟教程还有其他大佬的博客了解了各种修饰符的使用,以下做一个总结。

目前我所接触的能用的到的有一下几种修饰符:

public,private,protected,default(即什么都不加);

static,final,abstracted。

其中前四种为访问修饰符,也就是说在不同的包和不同的类内使用时会因为修饰符的影响而受到限制。
后面三种为非访问修饰符,在确定访问限制以后,非访问修饰符又可以控制许多其他的因素来方便编程。

以下四种访问修饰符可以使用在类,方法,变量和接口中,有两个例外是protected和private不可以修饰类。

1.public的权限是在当前包内的类,方法,变量等无论是在该包内还是其他包都可以使用,是访问权限最低的一级,没有限制。
2.protected的权限要更高一些,他允许该包内使用,同时对于其他包内的子类也可以使用,其他包的非子类则无法使用。
3.default则只允许包内可用
4.private只是类内可用,可用范围最小

非访问修饰符:

1.final 他修饰变量的时候代表这个变量是无法改变的,只要给了初始值就无法再赋别的值,否则无法通过编译。在修饰方法的时候,子类是无法继承父类中被final修饰的方法的。在修饰类的时候,不会有子类继承父类。
2.static 修饰变量时,这个变量就跟这个类挂钩了,这个类产生时,内存就分配一个地方给他了,一旦类被抹去,则变量也随之而去,并且在这个类的所有子类中都可以使用这个变量,但是一旦有一个子类改变这个值,也就是说改变了内存当中这个公用的值,那么其他类在使用这个值的时候也会随之改变,当我们既想在多个类中运用它,又不想改变他时,一般再用个final修饰就可以了。同理static修饰的方法也是一样的。有一个需要注意的地方是static修饰的方法内不可以使用没有static修饰的变量。这是因为static修饰的变量和方法的特点是:不需要对类创建实例,变量和方法就被分配了空间。没有static修饰的变量或方法是需要类有了对象后才被创建了空间的。因为我们不知道变量是否已经实例化,然而即使没有实例化那么该方法也是可以执行的,但变量就不一样了,没创建实例就没被分配空间。这也可以解释为什么我们类里的main主函数都是用static修饰了。
3.abstracted 修饰类的时候里面可以有抽象的方法,也可以没有,但是只要类中有抽象的方法,那这个类一定需要abstrated修饰。在类的继承过程中,子类必须要把所有父类中的抽象方法具体化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值