修饰符

修饰符
权限修饰符
范围从大到小
public>protected>默认不写>private
特征修饰符
final
static
abstract
native
transient
synchronized
volatile

权限修饰符可以用来修饰类本身和类中的成员(除程序块)	
权限修饰符只有public和默认不写可以用来修饰类
权限修饰符都可以来修饰类中其他成员
	
Java类和类之间的关系
		继承 关联 依赖
Java面向对象的特征之一	
		继承 封装 多态	(抽象)
	封装:将一些数据或执行过程 进行一个包装
	目的:保护数据 或执行过程的安全
	方法本身就算是一种封装 封装了执行的过程 保护过程的安全 隐藏了执行的过程 增强了复用性
	类中有很多的方法和属性  类就是一中封装的形势
	对属性本身的封装
		属性私有(封装在类中)
		提供操作属性相应的方式(通常是一个公有的方法)
	
特征修饰符 
	final   最终的 不可更改的
	1.final可以修饰变量
		若果在定义变量时没有给初始值
		有一次给变量存值的机会(因为在栈内存中生成的变量没有值便不能调用
		如果储存了值 那么这个变量就相当于一个常量
		注意变量类型是基本类型还是引用类型
		如果变量是基本类型 则变量的值无法改变
		如果修饰的变量是引用类型 则是变量内的地址引用不能改变
	2.final可以修饰属性
		全局变量 存储在堆内存的对象空间内一个空间
		属性如果没有赋值 有默认值存在
		属性用final修饰后 必须给属性赋处置 否则编译报错
		特点与修饰变量一致
	3.final可以修饰方法
		方法是最终的方法 不可更改
		子类继承父类的方法 将父类的方法重写(覆盖)
		final定义的方法 子类不能更改
	4.final可以修饰类本身
		类是最终的类 不可更改
		final类不可以被其他子类继承
		通常是一些定义好的工具类需要final修饰

static 静态的
static可以修饰属性
可以修饰方法
可以修饰块
修饰类(内部类)
特点:1.静态元素在类加载时就初始化 创建的很早
2.静态元素在静态元素区中存放 每一个类都有都有一个自己的取余 与别的类不冲突
3.静态元素只能加载一次(只有一份) 全部类对象及类本身共享
4.由于静态元素区加载的时候 有可能没有创建对象 可以通过类名字直接访问
5.可以理解静态元素不属于任何一个对象 属于类的
6.内存管理 栈内存创建并开始用完及回收 堆内存通过GC(Garbage Collection)管理 可以粗暴的认为常驻内存
7.费静态成员(堆内存对象里)中可以访问静态成员(静态区)
8.静态成员中访问静态成员(都存在静态区)
9.静态成员中不可以访问非静态成员(一个出发访问一堆相同名字的东西 找不清)
10.静态元素中是不可以出现this或者super关键字(静态元素属于类)

静态场景
增强程序可读性 static final 属性 = 0;

posted @ 2021-02-07 20:24  JAVA初当力  阅读(139)  评论(0编辑  收藏  举报