java 三种访问修饰符各如何使用?

如题所述

public 在任何地方都可访问 protected同包之间可以访问非同包子类可以访问 默认友好类:同包可以访问 private本类可以访问
下面是三大修饰符,你也顺便看看吧

如果一个类中如果有抽象方法,那么这个类必须是抽象类 , 抽象类中未必有抽象方法
抽象类抽象方法 抽象类中可以有抽象方法,也可以有实例方法 抽象方法只能声明,不能实现后面用 ; 结尾
抽象类的子类如果不希望成为抽象类,那么它就必须去实现父类中所有的抽象方法
抽象类允许定义构造方法
抽象类 只能声明引用 , 不能创建对象
抽象方法不能与static 一起使用 , abstract 类中的方法必须在子类中重写 ,并实现多态
Static 只能继承并重写父类中方法 , 但是不能实现多态 .
抽象方法不能与final 一起使用 , final 修饰的方法不能够在子类中覆盖,而抽象方法是必须要求要在子类中覆盖的.
抽象类不能与private一起使用,抽象类中的方法都必须要在子类中重写后实现,而private修饰的方法不能继承,更谈不上重写覆盖
Static

静态的 . 可修饰 : 方法, 成员变量(属性)
静态属性全类共有,由类名调用
静态方法中只能访问非静态的成员(属性+方法);
静态方法可以被覆盖,但是没有多态

静态初始化代码块
在类加载的时候,执行一次

类加载: 1 . 需要的话,先加载父类(可能父类已经加载过 ,这时候就可以不用加载父类了)
2 . 为静态属性分配空间并初始化
3 . 按顺序执行静态初始化代码块
Final

可修饰: 变量(局部变量和成员变量) : 赋值后不能再发生改变
方法 : final 修饰后的方法不能被覆盖 ,但可以继承
类 : final类不能被子类继承
Final修饰属性时候 , 属性此时没有默认值. 此时可以初始化属性值,或者构造方法中赋值
一般情况下常量为 public static , 常量名全部大写

这是我学习时候的笔记,希望对你有所帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-13
你好,确切的说,访问修饰符有四种。
public 可以被任何类访问
     
protected 可以被同一包中的所有类访问、可以被所有子类访问、子类没有在同一包中也可以访问
  
private 只能够被当前类的方法访问
  
缺省 可以被同一包中的所有类访问、如果子类没有在同一个包中,也不能访问本回答被网友采纳
第2个回答  2018-03-14
protected不在同一个包中,子类不可以访问吧。
第3个回答  2012-09-10
private 在同一个类中可以访问,protected在本类和子类可以访问,public都可以访问
相似回答