3、封装和继承

封装

隐藏细节

通过访问修饰符private,有些细节不需要用户直接访问,将他隐藏起来。只能间接访问,通过提供一些共有的接口(给外部提供一个可以调用的方法)

会写JavaBean

final关键字

修饰的东西不能被修改

修饰变量:变成常量

修饰方法:不能被重写

修饰类:不能被继承

常量命名规范:全大写,多个单词之间用__隔开

static关键字

静态修饰,修饰成员变量和方法

 

有static修饰:   静态成员:静态变量、静态方法

静态成员属于类

无论创建多少对象,静态成员变量在内存中只有一个,所有对象共用的只有一个数据

通过使用类直接调用

 

无static修饰:  非静态成员或者实列成员

非静态成员属于对象

非静态成员变量,每次new都会开辟一个的空间

使用是依靠对象来调用

 

继承

子类继承父类:可以简单的理解成父类的代码在子类中写了一遍

注意:子类还是会继承父类的私有的成员变量,只是不能调用了

 

构造方法

子类对象创建时,先调用父类的构造方法,如果子类中没有指定,默认调用父类的无参构造方法,可以指定子类构造器调用父类的哪个构造方法

子类不会继承父类的构造方法,但是可以调用

static静态代码块

一个类:

     静态代码块(加载类执行,只执行一次)-----非静态代码块(new对象之前)----构造器

子类对象创建:

      父类静态代码块---子类静态代码块---父类非静态代码块---父类构造器---子类非静态代码块---子类父类构造器

 

Super关键字

代表引用父类成员

super():

      调用父类的构造方法,必须出现在构造器的第一条语句

super.属性:

     子类没有定义和父类同名的属性,this.属性和super.属性没有区别

     子类定义了和父类同名的属性,this.属性子类定义的属性,super.属性父类定义的属性(一般不会用这种)

super.方法():

     子类可以重写父类的同名方法

 

访问修饰符的权限问题

 

方法重写

子类重写父类的方法,一般情况下,子类重写的方法(定义方法的结构)完全相同

方法重写的目的(本质):增加父类的功能

 

  1. 细节规则
  2. 方法名相同
  3. 参数列表相同
  4. 返回值类型相同或者是其子类
  5. 访问权限不能严于父类:重写以后使用范围>=父类的使用范围
  6. 异常有要求

 

posted @ 2021-11-02 09:26  金涛骇浪  阅读(32)  评论(0编辑  收藏  举报