2020925邹瑞

总结

封装

面向对象三大特征:封装、继承、多态;

Java中封装实际就是将类细节隐藏,对外不可见,外部可以通过规定的方式访问数据。是通过访问修饰符来限制不合理操作。封装很好的体现了面对对象提倡的对象之间松耦合的关系

封装步骤

第一步修改属性可见性。如public(公有)改为private(私有)。

第二步:设置getter/setter;如:在私有属性name上

public String getName(String name){

​ return name;

}

public void setName(String name){

​ this.name=name;

}

可以在setter方法中设置限制

Java中包也是一种封装机制,通过包来限制和制约类之间的访问关系,

就是一个文件夹,包名一般是:

公司域名去掉www后倒置+项目名+模块/功能;

访问修饰符

访问修饰符可以限制和制约类之间的访问。访问修饰符有四种(三个关键字):

  1. public:公开的、公共的;
  2. protected:受保护的
  3. 什么都不写(Package-Access):包访问修饰符
  4. private:私有的

类成员访问修饰符

static

使用static修饰的属性称为静态属性或类变量,没有用static修饰的属性称为实例变量。

使用static修饰的属性属于类,不属于具体的某个对象

静态与实例区别

JVM把内存划分成几个不同的区域,每个区域存储某一个数据。这几个区域分别是方法区、堆区、栈区、静态区、常量池。

继承

通过从现有类中继承其属性和方法,来实现充实自身内容,这种现象称为继承。

继承使用 extends 关键字,现有类称为父类/超类/基类,新类称为子类/扩展类。 继承的作用是代码重用,增加软件的可扩展性。 继承分为 单继承 / 多继承 , java 中只支持单继承。也就是一个类只能有一个直接父类。

继承表达的是 is a 关系, Student is a Person 。

继承时顺序

  1. 父类的 static初始化
  2. 子类 static 初始化父类
  3. 实例初始化
  4. 父类的构造方法
  5. 子类实例初始化
  6. 子类构造方法

特点:

  1. 可以继承父类中用 public 和 protected 和 Package-Access 修饰的属性和方法, PackageAccess 修饰的属性和方法只能在同包中继承。 private 修饰属性和方法不能被继承。
  2. 父类的构造方法不能被继承
  3. 子类可以扩展
  4. 子类可以重写 (Override) 父类的方法,不能重写构造方法
  5. 提高类之间的耦合性

重写

一般发生在继承中,描述子类重写父类的方法。当父类的方法不能满足子类的需求 时,子类可以重写此方法,也叫覆盖。类中有和父类中同名且同参(相同)的方法,称为方法的重写(覆盖)。

重写时记得前面加@Override用于检查

方法重写需要满足的条件:

  1. 重写一定发生在继承关系中
  2. 重写方法与被重写的方法要相同(方法名称,参数,返回值)
  3. 重写方法的访问权限不能缩小
  4. 注意: 不能重写父类中 final 修饰的方法,不能重新给 final 修饰的属性赋值。

final

final 修饰的类不能被继承, final 修饰的属性(字段)不可修改, final 修饰的方法不能被重写。 final 修饰变量称为常量,常量必须在赋初始值后才能使用,且不能更改.

但是,final修饰对象,不可变的是变量对于对象的引用,对象本身可以改变

心得

今天依旧学的有点多,需要花时间整理一下内容,防止乱掉。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1