《访问控制符和修饰符总结》由会员分享,可在线阅读,更多相关《访问控制符和修饰符总结(3页珍藏版)》请在金锄头文库上搜索。
1、访问控制符:通过控制声明内容的访问权限、作用域,降低代码的耦合性,降低程序的复 杂性; 修饰符:通过控制声明内容的作用,提高程序安全性。类的访问控制符和修饰符类的访问控制符和修饰符类的定义模式:访问控制符 修饰符 class 类名 extends 父类名 implements 接口名 类的访问控制符:名称说明备注默认包所有,只有当前包中类可 以访问可以和 public 类型的类放在 同一文件中Public能够被所有类访问Public 类必须定义在和类名 相同的同名文件中类的修饰符:名称说明备注Final说明该类不能被继承只能通过该类的实例对象访 问类的内容Abstract抽象类。只能通过子类才
2、能 访问累的内容抽象类中可以包含非抽象方 法。抽象方法必须被子类实 现。抽象方法必须放在抽象 类中变量的访问控制符和修饰符变量的访问控制符和修饰符在 java 中变量的类型分为:方法变量(方法中定义的变量) 、实例变量(属于对象的变量) 、 类变量(被定义为 static 的变量,为类所有) 。 方法变量:作用域只在方法内,存在于堆上。没有访问控制符。修饰符要么默认,要么为 final。 实例变量:属于对象,存在于栈上。类变量:属于类,可直接调用。存在于栈上。两种都 有访问控制符和修饰符。 访问控制符:名称说明备注Public所有的类都可以访问Protect受保护的。当前包所有类及 其子类均可
3、访问不同包的子类也可访问默认只有当前包可以访问若其子类不在同一包则不能 访问Private类私有的。只有当前类可以 访问修饰符:名称说明备注Final该变量值在声明时赋值或者 在静态初始化其中赋初值。 一经赋值不能再改变Static该类的所有实例共用同一个 该变量Transient告诉编译器,当类的对象在 序列化时候,该变量不需要 持久保存改变量可以通过其他变量获 得,故不需长久保存,以此 来提高性能Volatile说明该变量可能会被所个线 程改变,告诉编译器优化, 确保变量的改变能够正常处 理方法的访问控制符和修饰符方法的访问控制符和修饰符方法的声明方式:访问控制符 修饰符 返回值类型 方法
4、名(参数) throws 异常 构造函数不能使用修饰符,不能抛异常。访问控制符只能是: 方法的访问控制符:名称说明备注Public所有的类都可以调用Protect受保护的。当前包所有类及 其子类均可调用不同包的子类也可调用默认只有当前包其他类可以调用若其子类不在同一包则不能 调用Private类私有的。只有当前类对象 可以调用私有的方法不能被子类所覆 盖。若想在子类中使用父类 private 方法,只能通过父类 的对象调用方法的修饰符:名称说明备注Final该方法不能被覆盖Static方法为类所有,调用时候直 接通过类名调用Static 和 final 可以同时使用Abstract抽象方法必须
5、存在于抽象类 中空实现,且必须被非抽象 子类所实现Abstract 不可和 static、final 同时使用Native没有实现,通过本地方 c 或者 c+语言实现Synchronized在多线程中解决线程同步问 题被 synchronized 的方法执行 时其他线程不能调用该方法, 只能等待完成之后调用接口的访问控制符接口的访问控制符接口声明方式:访问控制符 interface 接口名称 extends 父接口 接口中的变量只能是 public、static、final 类型的;方法只能是 public 或者 abstract 接口访问控制符:名称说明备注Public所有都可以用默认只有同一个包的可以用