5.16 本章要点
1.面向对象的三大特征:封装、继承、多态。
2.类与对象的关系:类是对象的模板,对象是类的实例,类只能通过对象才可以使用。
3.类是由属性和方法组成。
4.对象的产生格式:类名称对象名称=new类名称()。
5.如果一个对象没有被实例化而直接使用,则使用时会出现空指向异常。
6.类属于引用数据类型,进行引用传递时,传递的是堆内存的使用权。
7.类的封装性:通过private关键字进行修饰,被封装的属性不能被外部直接调用,而只能通过setter或getter方法完成。只要是属性,则必须全部封装。
8.构造方法可以为类中的属性初始化,构造方法与类名称相同,无返回值类型声明,如果在类中没有明确的定义出构造方法,则会自动生成一个无参的什么都不做的构造方法,在一个类中的构造方法可以重载,但是每个类都至少有一个构造方法。
9.String类在Java中较为特殊,String可以使用直接赋值的方式,也可以通过构造方法进行实例化,前者只产生一个实例化对象,而且此实例化对象可以重用,后者将产生两个实例化对象,其中一个是垃圾空间,在String中比较内容使用equals方法,而“==”比较的只是两个字符串的地址值。字符串的内容一旦声明则不可改变。
10.在Java中使用this关键字可以表示当前的对象,通过this.属性可以调用本类中的属性,通过this.方法()可以调用本类中的其他方法,也可以通过this()的形式调用本类中的构造方法,但是调用时要求要放在构造方法的首行。
11.使用static声明的属性和方法可以由类名称直接调用,static属性是所有对象共享的,所有对象都可以对其进行操作。
12.如果需要限制类对象的产生,则可以将构造方法私有化。
13.对象数组的使用要分成声明数组,为数组开辟空间两个部分。开辟空间之后数组中的每个元素的内容都是null。
14.内部类是在一个类的内部定义另外的一个类,使用内部类可以方便地访问外部类的私有操作。在方法中声明的内部类要想访问方法的参数,则参数前必须加上final关键字,而从JDK 1.8之后此限制取消。