修饰符学习笔记

简介: 权限修饰符 public 公共的 protected 受保护的 默认不写 默认的 private 私有的 特征修饰符 final 最终的 不可更改的 static 静态的 abstract 抽象的 native 本地的 *transient 瞬时的 短暂的------>序列化 *synchronized 同步的 线程问题 *volatile 不稳定的

描述一个类

修饰符 特征 class  类名{

 属性 权限  特征  类型  名字

 方法 权限  特征  返回值  名字  参数  异常  执行体

 构造方法 权限  名字  参数  异常  执行体

 程序块 执行体

}

修饰符

权限修饰符

   public  公共的

   protected 受保护的

   默认不写  默认的

   private  私有的

特征修饰符

   final  最终的  不可更改的

   static  静态的

   abstract  抽象的

   native  本地的

   *transient 瞬时的  短暂的------>序列化

   *synchronized 同步的 线程问题

   *volatile  不稳定的

权限修饰符

public 公共的 本类   同包  子类  当前项目中任意类的位置只要有对象都可以访问

protected 保护的 本类   同包  子类(通过子类对象在子类范围内部访问)

默认不写 默认的 本类   同包

private 私有的 本类    

1.能修饰什么   2.范围如何

权限修饰符可以用来修饰   类本身   和类中的成员(除程序块)

权限修饰符用来修饰类的时候只有两个可以用(public  默认不写)

权限修饰符都可以用来修饰类中其他成员

Java类和类之间的关系

 继承   关联   依赖

Java面向对象的四个特征

 继承   封装   多态   (抽象)

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

 目的 : 保护这些数据 或 执行过程的安全

 写登录流程--->main  一段代码

 写登录方法--->login(name,pass)    

 方法本身就算是封装   封装了执行的过程  保护过程的安全  隐藏了执行细节   增强复用性

 好多的方法和属性---->类   类也算是一个封装

  ArrayBox  

  私有属性elementData  size

  --->add  get  remove  size

  ensureCapacityInternal    grow   copyOf    rangeCheck

 对属性本身的封装:

  属性私有(封装在类中)

  提供操作属性相应的方式(公有的方法)

 以后强烈建议大家属性不要公有的---->非常不安全

 既然以后大家都这样操作属性  属性及其操作属性的方法都有其命名的规约

 age------>    setAge        getAge

 myAge-->    setMyAge   getMyAge

特征修饰符

 1.可以修饰什么

 2.修饰以后有什么特点

 final 最终的   不可更改的

  • 修饰变量

  如果在定义变量时没有赋初始值

  给变量一次存值的机会(因为变量在栈内存空间内 没有默认值 如果不给机会 就没法用啦)

  一旦变量被存储了一个值 若用final修饰后 则不让再次改变 ----> 相当于常量啦(值没法动)

  注意变量类型是基本类型还是引用类型

  如果修饰的变量是基本数据类型  则变量内的值不让更改---常量

  如果修饰的变量是引用数据类型  则变量内的地址引用不让更改---对象唯一

  • 修饰属性

  全局变量  存储在堆内存的对象空间内一个空间

  属性如果没有赋值  有默认值存在的

  属性用final修饰后  必须给属性赋初值  否则编译报错

  特点与修饰变量一致

  注意变量类型是基本类型还是引用类型

  如果修饰的变量是基本数据类型  则变量内的值不让更改---常量

  如果修饰的变量是引用数据类型  则变量内的地址引用不让更改---对象唯一

  •  修饰方法

  方法是最终的方法  不可更改

  子类继承父类的方法   将父类的方法重写(覆盖)

  final修饰的方法  要求不可以被子类重写(覆盖)

  •  修饰类本身

  类是最终的 不可以更改

  (太监类 无后) 此类不可以被其他子类继承  

  通常都是一些定义好的工具类

  Math   Scanner   Integer   String

特征修饰符之

1.可以修饰什么

2.修饰后有什么特点

static静态的

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

2.特点:

 1.静态元素在类加载时就初始化啦,创建的非常早,此时没有创建对象  

 2.静态元素存储在静态元素区中,每一个类有一个自己的区域,与别的类不冲突

 3.静态元素只加载一次(只有一份),全部类对象及类本身共享

 4.由于静态元素区加载的时候,有可能没有创建对象,可以通过类名字直接访问

 5.可以理解为静态元素不属于任何一个对象,属于类的

 6.静态元素区Garbage Collection无法管理,可以粗暴的认为常驻内存

 7.非静态成员(堆内存对象里)中可以访问静态成员(静态区)

 8.静态成员中可以访问静态成员(都存在静态区)

 9.静态成员中不可以访问非静态成员(个数 一个出发访问一堆相同名字的东西 说不清)(静态元素属于类 非静态成员属于对象自己)

 10.静态元素中不可以出现this或super关键字(静态元素属于类)

设计模式23种   单例模式Singleton

目录
相关文章
|
7月前
|
安全 Java 数据安全/隐私保护
|
7月前
|
设计模式 安全 Java
JAVAfinal修饰符
JAVAfinal修饰符
41 0
|
7月前
|
C# 开发者 索引
C#修饰符
C#修饰符
34 0
|
7月前
|
编译器 C++
C++修饰符
C++修饰符
35 0
|
存储 Java 编译器
Kotlin 学习笔记(四)—— 作用域函数、inline 关键字、反引号等 Kotlin 基本用法(下)
Kotlin 学习笔记(四)—— 作用域函数、inline 关键字、反引号等 Kotlin 基本用法(下)
63 0
|
Java Android开发 开发者
Kotlin 学习笔记(四)—— 作用域函数、inline 关键字、反引号等 Kotlin 基本用法(上)
Kotlin 学习笔记(四)—— 作用域函数、inline 关键字、反引号等 Kotlin 基本用法(上)
107 0
|
前端开发 C语言
关于修饰符“#”
关于修饰符“#”
83 0
访问修饰符和修饰符
访问修饰符和修饰符
105 1
|
JavaScript 开发者
事件修饰符的介绍|学习笔记
快速学习事件修饰符的介绍
115 0
事件修饰符的介绍|学习笔记
|
C++
类的修饰符
类的修饰符
79 0