Java权限修饰符

一、访问权限修饰符

1、public
1)public修饰的类在本类、同包、子类、其他包中互相访问都是可以的;
2)public可以修饰任何类而且类名要与文件名相同,protected不可以修饰类。

2、protected
1)protected修饰的类在本类、同包、子类中互相访问都是可以的,不可以在包外没有继承关系的类中互相访问;
2)public可以修饰任何类而且类名要与文件名相同。

3、default
1)default修饰的类在本类、同包中互相访问都是可以的,不可以在包外不管有没有继承关系的类都不可以互相访问;
2)default(不写默认指定default)同public一样可以修饰任何类而且类名要与文件名相同。

4、private
1)private修饰的类只能在本类中访问;
2)private同protected一样不可以修饰类。

注意:Java的访问控制是停留在编译层的,也就是它不会在.class文件中留下任何的痕迹,只在编译的时候进行访问控制的检查。

在这里插入图片描述

二、特征修饰符

1、static 关键字
1)属性:被static关键字修饰的属性叫类变量,是全类共有的,可直接用类名访问。初始化类变量是在类加载是完成;
2) 类加载:当虚拟机JVM第一次使用一个类时,会通过classpath找到这个类所对应的字节码文件,将这个文件中包含的类信息全读入JVM并保存起来,使下次再用这个类时就不需要再去加载,一个类只加载一次;
3)方法:被static关键字修饰的方法叫静态方法,可直接用类名访问;
静态方法的特点:
(1)静态方法只能访问类的静态成员(静态属性和静态方法);
(2)静态方法只能被子类中的静态方法覆盖,并且没有多态。
例子:A a=new B( ); A类是B类的父类
A中有m()方法,B中也有m()方法,则a.m()调用的是B中的m()方法;
如果A、B中的m()方法都是静态方法,则a.m()调用的是A中的m()方法。
4)静态代码块:在类加载时运行一次。

2、final关键字
1)变量:被final修饰的变量成为常量,一旦赋值,不能被修改;
2)方法:如果一个方法被final修饰,说明该方法不能被子类覆盖 ;
3)类:如果一个类被final修饰,说明该类不能被继承。

3、abstract关键字
1)类:不能创建对象,但可以声明对象的引用 ;
2)方法 :只有定义,没有实现;
(1)如果一个类中有抽象方法,则这个类必须是抽象类;
(2)子类继承一个抽象类,如果子类不希望也成为抽象类,就必须实现父类中所有的抽象方法;
(3)抽象类中有构造方法 。

注意:以下修饰符一起用是无意义的,会导致编译错误:
1)abstract 与 private
2)abstract 与 final
3)abstract 与 static

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值