栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面向对象课堂总结 P2019116035

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面向对象课堂总结 P2019116035

java面向对象课堂总结 三大特性 封装 1.封装概述

利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。 数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节, 只保留一些对外接口使之与外部发生联系。用户无需知道对象内部的细节, 但可以通过对象对外提供的接口来访问该对象。

2.优点
  • 减少耦合:可以独立地开发、测试、优化、使用、理解和修改
  • 减轻维护的负担:可以更容易被程序员理解,并且在调试的时候可以不影 响其他模块
  • 有效地调节性能:可以通过剖析确定哪些模块影响了系统的性能
  • 提高软件的可重用性
  • 降低了构建大型系统的风险:即使整个系统不可用,但是这些独立的模块却有可能是可用的
3. 成员变量和局部变量的区别
区别成员变量局部变量
在类中位置不同类中方法外方法内或者方法声明上
在内存中位置不同堆内存栈内存
声明周期不同随着对象存在而存在,随着对象消失而消失随着方法调用而存在,随着方法调用完毕而消失
初始化值不同有默认的初始值没有默认的初始值,必须先定义,赋值,才能使用
4. 静态变量和成员变量的区别
区别静态变量成员变量
所属不同属于类,所以也称为类变量属于对象,所以也称为实例变量(对象变量)
在内存中位置不同存储于方法区的静态区存储于堆内存
内存中出现时间不同随着类存在而存在,随着类消失而消失随着对象创建而存在,随着对象消失而消失
调用不同可以通过类名调用,也可以通过对象调用只能通过的对象来调用
5.代码块
  • 静态代码块:在类加载的时候就执行,且执行一次。一般用于对对象进行初始化。
  • 构造代码块:每次调用构造方法都执行且在构造方法之前执行。一般是对类进行初始化。
继承 1.继承概述

继承实现了 IS-A 关系,例如 Cat 和 Animal 就是一种 IS-A 关系,因此 Cat 可以继承自 Animal,从而获得 Animal 非 private 的属性和方法。
继承应该遵循里氏替换原则,子类对象必须能够替换掉所有父类对象。
Cat 可以当做 Animal 来使用,也就是说可以使用 Animal 引用 Cat 对象。父类引用指向子类对象称为 向上转型 。

2.优点
  • 提高了代码的复用性
  • 提高了代码的维护性
  • 在类与之间产生了关系,是多态的前提
3. Java中继承特点
  • Java只支持单继承,不支持多继承
  • Java支持多层继承
4. Java中继承注意事项
  • 子类只能只能继承父类所有非私有成员(成员方法和成员变量)
  • 子类不能继承父类的构造方法,但是可以通过super关键在去访问父类构造方法
  • 不要为了部分功能而去继承
  • 继承中类之间体现的是“is a”的关系。
5. 继承中成员变量的关系
  • 子类中成员变量和父类中成员变量名称不同。
  • 子类中成员变量和父类中成员变量名称相同。
  • 在子类方法中的查找顺序:​
    在子类方法的局部范围找,有就使用
    在子类的成员范围找,有就使用
  • 在父类的成员范围找,有就使用
    如果还找不到,就报错
6. 继承中构造方法的关系
  1. 子类中所有的构造方法默认会都会访问父类中空参数的构造方法
  • 原因:因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前, 一定要完成父类数据的初始化。
  1. 每一个子类的构造方法第一条语句默认是:super();
  2. 如果父类中没有无参构造方法,该怎么办呢?
    • 方式一:子类通过super去显示调用父类其他的带参的构造方法
    • 方式二:子类通过this去调用本类的其他构造方法 (子类一定要有一个去访问父类的构造方法,否则父类数据就没有初始化)
7.类中成员变量初始化

一个类的成员变量的初始化:

  1. 默认初始化

  2. 显式初始化

  3. 构造方法初始化
    子类的初始化(分层初始化)
    先进行父类的初始化,再进行子类的初始化
8. 继承中成员方法的关系
  1. 父类中私有成员方法不能被重写(因为父类中私有成员方法不能被继承)

  2. 子类重写父类中方法时,访问权限不能更低(最好一致)

  3. 父类是静态方法时,子类也必须通过静态方法进行重写。

  4. 子类和父类的声明最好一模一样。

8. final关键字

final关键字是最终的意思,可以修饰类,修饰变量,修饰成员方法

  • 修饰类:不能被继承
  • 修饰变量:变量就变成了常量,只能被赋值一次
  • 修饰方法:方法不能被重写
    注意:

final修饰局部变量

在方法内部,该变量不可以被改变

在方法声明上,分为基本类型和引用类型的情况​
(1)基本类型:是值不能变

(2)引用类型:是地址不能变,但是该对象的堆内存中的值是可以改变的

final修饰变量的初始化时机
在对象构造完毕前即可(非静态常量),被final修饰的变量只能赋值一次。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/843118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号