一、类和对象概述
1、类是构造对象的模板或蓝图,类相当于模具,对象就是成品,由类构造对象的过程称为创造类的实例
2、封装(又称数据隐藏)是处理对象的一个重要概念。形式上看,封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式
3、对象中的数据称为实例字段,操作数据的过程称为方法。作为类的实例,特定对象都有一组特定的实例字段值,这些值的集合就是这对象的当前状态
4、实现封装的关键在于,不能让类中的方法直接访问其他类的实例字段,程序只能通过对象的方法与对象数据进行交互
5、通过扩展其他类可以构造新的类,例如java中所有的类都有超类Object,这种行为叫做继承
6、对象有三个主要特性:
(1)、对象的行为:对象可以调用那些方法?
(2)、对象的状态:调用方法时,对象会有什么响应?每个对象都保存着描述当前状况的信息
(3)、对象的标识:如何区别具有相同行为和状态的不同对象
7、类之间的关系:
(1)、依赖(usea-a):如果一个类的方法使用或操纵另一个类的对象,我们说一个类依赖于另一个类。我们应该尽可能地减少相互依赖的类(减少类之间的耦合)
(2)、聚合(has-a):包容关系意味着类A的对象包含类B的对象
(3)、继承(is-a):如果类A扩展类B,类A不但包含从类B继承的方法,还会有一些额外的功能
二、编写类和使用类
1、对象和对象变量
(1)、在java中,要使用构造器(或称构造函数)构造新实例,构造器是一种特殊的方法,用来构造并初始化对象
(2)、要想构造一个Date对象(以下以Date为例),需要在构造器前加上new操作符
new Date(); //构造一个新对象
Date birthday=new Date(); //构造一个对象并存放在一个对象中
System.out.println(new Date()); //构造并使用,但只能用一次
(3)、对象变量可以引用Date对象,但对象变量本身不是对象,要使用对象变量必须初始化变量,可构造新变量也可以引用已有变量
(4)、任何对象变量的值都是对存储在另外一个地方的某个对象的引用,new操作符的返回值也是一个引用
2、更改器和访问器
(1)、为了体现类的封装特性,我们使用会用更改器方法和访问器方法来改变对象和访问对象
3、在java10中,如果可以从变量的初始值推知它们的类型,那么可以用var关键字声明局部变量,注意var只能用于方法中的局部变量(包括main方法)
4、我们可以让对象变量包含一个NULL,表示没有引用任何变量,但是在这种情况下不可以调用类的任何方法
5、可以将实例字段定义为final,但此时必须在构造对象时初始化,也就是说在每一个类构造器执行之后,这个字段的值就已经设置