封装,this,super关键字和四个访问权限修饰符

  • 封装的意义
  • 1.可以防止外界任意修改和保护隐身
  • 2.可以起到外界传递给类的内部的数据能够得到数据校验
  • 封装的概念
  • 1.对数据进行访问权限控制,主要依赖的就是访问权限修饰符
  • 2.访问权限修饰符:Public protected [default] private
  • 如何对数据进行封装
  • 1.对需要封装的数据成员使用访问权限修饰符(private)加以修饰
  • 2.在类的内部提供对外访问渠道(set/get)方法 生成快捷键 alt + shift + s 再按r
  • 3.使用代码对数据做数据校验(一般省略不写,看实际要求)
  • 注意:在类体以内 方法以外不能写逻辑代码,(在局部位置不能定义成员,在成员位置不能写逻辑代码)
  • 类的组成
  •  class 类{
    
  •  	成员变量
    
  •  	(构造方法
    
  •  		构造方法重载)  不是必须要写但是最好写上养成习惯
    
  •  	成员方法	
    
  •  		普通方法
    
  •  		读写方法(set/get方法)
    
  • }
  •  	统称为一个javaBean  或者 domain pojo  entity
    
  • this关键字
  •  1.成员变量和局部变量重名时 可以使用this
    
  •  2.创建任何一个对象都会创建一个this引用和对象指向同一个堆区的空间
    
  •  3.this代表当前对象,谁调用了this就是指的谁
    
  •  4.this只能够出现在类的内部
    
  •  5.this的设计代表现实生活中代词的概念(我的)
    
  •  6.默认访问类的成员都可以使用this来访问,如果访问成员没有写this,系统会默认加上this
    
  • 构造方法
  • 为什么需要构造方法?
  • 1.当一个类中有很多个属性,一个一个set会很麻烦
  • 构造方法功能
  • 1.能够快速初始化成员变量
  • 2.能够为对象分配内存空间 + new (构造方法本身就是一个特殊的方法)
  • 构造方法的格式
  • [访问权限修饰符] 方法名(参数列表) {
  •  	方法体;
    
  • }
  • 构造方法的特点
  •  1.构造方法没有返回值,void也没有
    
  •  2.构造方法也是方法,存在方法重载
    
  •  3.构造方法是用来给成员快熟初始化的
    
  •  4.构造方法的方法名必须和类名保持一致
    
  • 构造方法的注意事项
  •  1.如果没有写无参构造方法,系统会帮我们写上一个
    
  •  2.一旦书写了带参构造方法就会覆盖系统的无参构造方法  所以书写Bean要自己书写上无参构造方法
    
  •  	无参构造方法的好处:
    
  •  		1.无参构造方法能够初始化默认成员的值
    
  •  		2.反射中调用的就是无参构造方法,很多框架中都会利用反射技术创建对象,反射大部分都是依赖无参构造方法
    
  • super关键字
  • super和this的区别?
  •  this可以理解为当前对象,谁调用this就代指那个调用者对象
    
  •  ,每次创建一个对象,默认都会创建一个this变量指向同一个堆区空间
    
  •  super本质是父类存储空间的标识,可以理解为父类对象
    
  •  	同样可以使用super这个关键字来访问父类成员
    
  • 访问成员格式
  •  成员变量
    
  •  	this.成员变量   super.成员变量
    
  •             成员方法
    
  •       this.成员方法   super.成员方法
    
  •             构造方法
    
  •       this(参数列表)     super(参数列表)
    
  • 注意:
  • 1.任何一个类的无参或者带参构造方法的第一句都默认省略super();
  • 2.任何一个类都直接或者间接继承自object类
  • 3.为什么设计object类,满足了万事万物皆对象的原则
  •  	访问根类object的无参构造方法主要 是加载object中的静态成员和静态代码块
    
  • 4.创建一个子类对象默认会去调用父类的构造方法,但是没有创建父类对象,本质是相当于访问了一个普通方法,创建对象空间开启需要new关键字
  • 5.super访问父类带参构造可以帮助子类初始化父类继承下来的成员,简化编程
  • 6.静态环境/静态上下文(static修饰的方法),不能出现this和super
  • 7.super必须出现在构造方法的第一句
  • 8.super和this不能共存
  • 访问权限修饰符:public protected default[一种默认状态] private
  •   概述: 本质就是用来控制类中成员的访问权限,封装的核心
    
  • 在这里插入图片描述
    *访问权限修饰符的特点:
  • 1.public对一切类可见
  • 2.protected对同胞下和不同包的子类可见
  • 3.default仅对同包下可见
  • 4.private仅对本类可见
  • 5.访问权限修饰符有四个,访问权限修饰符可以修饰成员变量,成员方法,还可以修饰类(只有public可以)
  • protected和private只能修饰内部类
  • 6.访问权限修饰符的宽严关系
  •  public > protected > default > private
    
  • 7.Java当中封装就是通过访问权限修饰符来实现的
  •  封装就是屏蔽内部成员,而屏蔽内部成员是通过访问权限修饰符来控制的
    
  • 类的本质就是组织代码,封装数据
    
  • 方法的重写
  • 方法重写的意义:当父类的方法不能够满足子类的要求的时候,需要方法重写
  • 方法重写的特点:
  • 1.发生在具有子父类的两个类中
  • 2.方法名相同
  • 3.参数列表完全相同
  • 4.返回值类型相同或者是其子类
  • 5.访问权限修饰符不能够严于父类
  • 注意事项:
  • 1.private修饰的方法不能够继承,所以不能够被重写
  • 2.构造方法不能够被重写
  • 3 子类重写父类方法时,访问权限修饰符不能更低
  • 4 返回值类型相同或者是其子类
  • 5.重载和重写的区别

猜你喜欢

转载自blog.csdn.net/Ariqiao/article/details/89408735