1.匿名对象使用之后直接被垃圾回收机制回收,进而释放内存空间。匿名对象只使用了堆内存,而没使用栈内存。
2.在Java中,对于String的操作,在Java中形成一个对象池,在这个对象池中保存多个对象,新实例化的对象如果已经在池中进行定义了,则不再重新定义,而从池中直接取出继续使用。
3.String类在Java中比较特殊,String可以使用直接赋值的方式,也可以通过构造方法进行实例化,前者只产生一个实例化对象,而且此实例化对象可以重用,后者将产生两个实例化对象,其中一个是垃圾空间,在String中比较内容时使用equals()方法,而“==”只是比较两个字符串的地址值。字符串的内容一旦声明则不可改变。
4.super和this关键字的区别
A>属性访问:this是访问本类中的属性,如果在本类中没有此属性,则从父类中继续查找;super是访问父类中的属性
B>方法:this是访问本类中的方法,如果本类中没有此方法,则从父类中继续查找;super是直接访问父类中的方法
C>调用构造:this是调用本类构造,必须方法构造方法的首行;super是调用父类构造,必须放在子类构造方法的首行
D>特殊:this是表示当前对象;super无此概念
5.java的instanceof关键字
用来判断一个对象属于哪个类的实例。格式:对象 instanceof 类 ---->>返回boolean类型
6.抽象类与接口的关系
A>定义:抽象类是定义一个抽象方法的类;接口是抽象方法和全局常量的集合
B>组成:抽象类是构造方法、抽象方法、普通方法、常量、变量;接口是常量、抽象方法
C>使用:抽象类是子类继承抽象类(extends);接口是子类实现接口(implements)
D>关系:抽象类可以实现多个接口;接口不允许继承抽象类,但能继承多个接口
E>对象:都通过对象的多态性生产实例对象
F>局限:抽象类有单继承的局限性;接口没有此局限
G>实际:抽象类是作为一个模板;接口是作为一个标准或表示一种能力
H>使用:如果抽象类和接口都可以使用,优先使用接口,避免单继承的局限性
I>特殊:一个抽象类可以包含多个接口;一个接口可以包含多个抽象类
7.关于Object类
Object类是所有类的父类
Object类的toString()方法默认是随机输出一些地址的信息。输出对象时一定会调用toString()方法。
Object类的equals()方法是对象的比较,默认比较的地址值,不能比较内容。如果想要比较内容需要重写equals方法
8.关于包装类
A>Integer,Byte,Float,Double,Short,Long都输入Number类的子类
B>Character和Boolean都输入Object的直接子类
9.关于装箱和拆箱
JDK1.5之前都需要手动的装箱和拆箱,之后提供了自动的装箱和拆箱