JAVA核心技术 卷1 学习笔记-类相关--第四章

JAVA核心技术 卷1 学习笔记-类相关

记录一下JAVA核心技术 卷1 4,5,6三章的内容,避免每次都从头开始阅读

名词

OOP 面向对象程序设计:只知道概念,理解还是不深刻

对象
实例化:用构造器构造新实例
封装:绝对不能让类中的方法直接访问其他类的实例域,仅通过对象的方法与对象数据进行交互
实例域
final实例域
方法
继承
object类
类之间的关系:
uses-a 依赖
has-a 聚合
is-a 继承
构造器
UML类图
引用:JAVA中对象并没有实际包含对象,而是仅仅引用一个对象,类似于C++的指针
静态工厂方法(就是返回当前类和子类类型的静态方法)
更改器方法和访问器方法
静态域和静态方法
方法签名:方法名和参数
访问级别:public,private,包作用域
初始化块:
对象析构,finalize方法
包的导入:

构造器(暂时没有太难的地方)

  • 和类方法同名
  • 可以有多个构造器
  • 构造器可以有多个参数
  • 没有返回值
  • 总是伴随着new调用
  • final实例域必须在构造器执行之后被赋值,之后再也不能修改 (这一点之前理解有误)

封装

如果需要返回一个可变数据域的拷贝,就应该使用clone
方法可以访问所调用对象(同一个类的其他对象)的私有数据 (这一点需要牢记)

静态域和静态方法(这一点需要多复习)

  • 静态域属于类,不属于任何对象
  • 静态方法只能访问静态域
  • 对象和类都可以访问静态方法,但是建议用类来访问静态方法

方法参数 (值得关注)

  • 按值调用 JAVA总是按值调用,因此JAVA中的方法不可能修改基本数据类型的参数,但是可以修改对象数据类型的值,因为新建一个局部变量复制了原来的变量,而原来的变量只是一份对象的引用,因此局部变量和原来的变量指向同一个引用,就可以修改对象的值了
  • 按引用调用

对象的构造

  • 支持重载
  • 类中的域如果没有被初始化,则会被自动初始化为默认值
  • 类中没有提供任何构造器时,系统会提供一个默认的构造器
  • 构造器彼此之间可以互相调用
  • -

初始化块(用的不是很常见,可以暂时不管)

  • 只要构造类的对象,初始化块就会被执行
  • 静态初始化块

finalize方法(这个暂时不重要)

  • 会在垃圾回收器清除对象之前调用

包的导入

  • import
  • import static 导入静态方法和静态域
  • package

问题

封装中关于静态域如何解释?

实例域的初值和构造器中赋初始值的关系:实际上就是给出了类在调用构造器之前的初始值,在构造器中只要不明确的给这几个参数赋值,就会默认是这些初始值

java的编译过程

总结

这一章介绍了类的概念,包括类的实例域和方法,方法中主要介绍的内容是构造器,实例化一个类的对象是,类中各个实例域的值会有默认值,0,null或false,在构造的时候可以通过构造器来初始化,也可以通过在声明变量时进行初始化,还可以通过初始化块来初始化。

除了普通的实例域和方法外,还介绍了静态实例域和方法,以及final实例域。静态实例域和方法需要再关注,理解记忆。

还有一个重要的知识点就是,java中所有对象的实例变量其实都是对对象的引用,而且java中参数的传递都是传值传递的。

总体而言,这一章的内容比较简单,没有太多的知识点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值