Java初级篇—权限修饰符+封装+final

描述一个类

修饰符 特征 class  类名{
		属性	权限  特征  类型  名字
		方法	权限  特征  返回值  名字  参数  异常  执行体
		构造方法	权限  名字  参数  异常  执行体
		程序块	执行体
	}

修饰符

权限修饰符

  • public 公共的;本类、同包、子类、当前项目中任意类的位置只要有对象都可以访问
  • protected 受保护的;本类、同包、子类(通过子类对象在子类范围内部访问)
  • 默认不写 默认的;本类、同包
  • private 私有的;本类

权限修饰符可以用来修饰类本身和类中的成员(除程序块)
权限修饰符用来修饰类的时候只有两个可以用(public 默认不写)
权限修饰符都可以用来修饰类中其他成员

特征修饰符

final 最终的 不可更改的
static 静态的
abstract 抽象的
native 本地的
*transient 瞬时的 短暂的------>序列化
*synchronized 同步的 线程问题
volatile 不稳定的
特征修饰符
1.可以修饰什么
2.修饰以后有什么特点

Java面向对象的四个特征

继承 封装 多态 (抽象)

封装 : 将一些数据或执行过程 进行一个包装

  1. 目的 : 保护这些数据或执行过程的安全
  2. 方法本身就算是封装,封装了执行的过程,保护过程的安全 隐藏了执行细节,增强复用性。
  3. 类也算是一个封装

ArrayBox
私有属性elementData size
add get remove size
ensureCapacityInternal grow copyOf rangeCheck

  1. 对属性本身的封装:
    属性私有(封装在类中)
    提供操作属性相应的方式(公有的方法)
  2. 强烈建议大家属性不要公有的,因为非常不安全
    既然以后大家都这样操作属性 属性及其操作属性的方法都有其命名的规约
    age------> setAge getAge
    myAge–> setMyAge getMyAge

final 最终的 不可更改的

修饰变量

如果在定义变量时没有赋初始值,给变量一次存值的机会(因为变量在栈内存空间内 没有默认值 如果不给机会 就没法用啦),一旦变量被存储了一个值 若用final修饰后 则不让再次改变 ----> 相当于常量啦(值没法动)。

*注意变量类型是基本类型还是引用类型
如果修饰的变量是基本数据类型 则变量内的值不让更改—常量
如果修饰的变量是引用数据类型 则变量内的地址引用不让更改—对象唯一

在这里插入图片描述

final修饰变量

修饰属性

全局变量、存储在堆内存的对象空间内一个空间
属性如果没有赋值 有默认值存在的
属性用final修饰后 必须给属性赋初值 否则编译报错
特点与修饰变量一致

*注意变量类型是基本类型还是引用类型
如果修饰的变量是基本数据类型 则变量内的值不让更改—常量
如果修饰的变量是引用数据类型 则变量内的地址引用不让更改—对象唯一

修饰方法

方法是最终的方法 (不可更改)
子类继承父类的方法 将父类的方法重写(覆盖)
final修饰的方法 要求不可以被子类重写(覆盖)

修饰类本身

类是最终的、不可以更改。此类不可以被其他子类继承
通常都是一些定义好的工具类:Math、Scanner、Integer、String

static、静态常量

static静态的

1.可以修饰 : 修饰属性 修饰方法 *修饰块 修饰类(内部类)
2.特点:

1.静态元素在类加载时就初始化啦,创建的非常早,此时没有创建对象
2.静态元素存储在静态元素区中,每一个类有一个自己的区域,与别的类不冲突
3.静态元素只加载一次(只有一份),全部类对象及类本身共享
4.由于静态元素区加载的时候,有可能没有创建对象,可以通过类名字直接访问
5.可以理解为静态元素不属于任何一个对象,属于类的
6.静态元素区Garbage Collection无法管理,可以粗暴的认为常驻内存
7.非静态成员(堆内存对象里)中可以访问静态成员(静态区)
8.静态成员中可以访问静态成员(都存在静态区)
9.静态成员中不可以访问非静态成员(个数 一个出发访问一堆相同名字的东西 说不清)(静态元素属于类 非静态成员属于对象自己)
10.静态元素中不可以出现this或super关键字(静态元素属于类)

静态内存图

在这里插入图片描述


阅读更多

三连博主,每天分享一个小技巧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值