面向对象思想的修饰符

修饰符的意义

public :公共的   任何位置都可以使用的 

protected : 受保护的 本包内可用 包外有继承关系的子类中也可用

default :默认的   只有本包内可以使用的

private : 私有的   只有本类当中可以使用的

它们都能修饰什么

成员(属性、方法)

final(最终的)

修饰类:最终类(太监类) 

不能派生子类 不能被继承

String类、Math类都是final修饰的

修饰方法:最终方法 不能被覆盖

不在乎多少个类通过继承得到它- 可以继承

只是这个方法都必须是最后的版本了- 不能覆盖

修饰变量:最终变量 一旦赋值就再也不能修改

●基本数据类型 值不能修改

●b引用数据类型 是指向的地址不能修改了

static(静态的)

修饰属性:静态属性

在内存当中只有一份值,不依赖任何一个对象存在 是整个这个类共享的同一份

访问静态属性 可以不通过对象访问,直接使用类名访问

●静态属性与对象无关,本身在类被加载的时候初始化

修饰方法:静态方法

静态方法不需要对象就可以调用,可以直接使用类名调用(非静态的方法必须使用对象调用)

●为什么不把所有方法都定义成静态的呢?

    1、静态方法不能直接访问非静态属性(可以直接访问静态属性)

    2、静态方法的调用是通过类名调用的,也就是说很可能没有对象就调用方法了,违背java万事皆对象的设计理念

修饰代码块:静态初始化块

普通的初始化块 用于初始化非静态的属性,每创建一个对象执行一次

静态初始化块 用于初始化静态属性(静态属性只有一份)

●静态初始化块在类第一次被加载的时候执行且只执行一次 跟创建几个对象没有关系

版权声明:个人学习库版权所有,转载请标明出处
转载请注明:https://blog.grstudy.com/java/note/19
免责声明&联系方式
作者头像
boss创始人

系统研发工程师

  • 文章信息:本站文章如无特别标注,均为本站原创文章。由 boss 于 2019-06-15 发表
  • 免责声明:请先阅读免责声明
上一篇:String类常用方法
下一篇:面向对象的单例和接口

网站迁移公告





本站已迁移至新站

欢迎访问

https://www.jssolo.com