1.成员内部类:定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( ); 外部类是不能直接使用内部类的成员和方法滴.如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
2.静态内部类是 static 修饰的内部类,这种内部类的特点是:静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 ;如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员;创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
3.方法内部类:就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。
4.继承(is a),java是单继承,不用private修饰时可以实现代码复用。初始化时先初始化父类再初始化子类,先执行初始化对象的属性,再执行构造方法的初始化
5.子类重写父类的方法:方法的声明部分完全一样
6.final可修饰类、方法、属性、变量,若final修饰类,则该类不允许被继承,若final修饰方法,则该方法不允许被覆盖(重写),若final修饰属性,则该属性不会被隐式的初始化(必须初始化或在构造方法中初始化,但只能被初始化一次),final修饰变量,则该变量只能被赋值一次。
7.super在子类的内部使用,可代表父类,进行父类属性和方法的访问。子类的构造过程中,必须调用父类的构造方法,此时可用super()。但是可以省略;若子类的构造方法中没有显示的调用父类的构造方法,则系统默认调用父类无参的构造方法,显示的调用时,必须放在子类构造方法的第一行,若没有显示调用并且父类没有无参的构造方法,则报错。
8.在object类里的toString()方法是返回对象的hashCode(对象地址字符串),课通过重写该方法来返回对象的属性;object类里的equals()方法比较对象的引用是否指向同一地址,当需要比较两个对象的是是否一样时需要重写该方法。
9.多态:引用多态:父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。方法多态:创建本类对象时,调用的方法为本类方法;创建子类对象时,调用的方法为子类重写的方法或者继承的方法。
10.instanceof运算符,解决引用对象的类型,避免类型转换安全性的问题。
11.抽象类应用场景:a.在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法;b.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。作用:是限制规定子类必须实现某些方法,但不关注实现细节。使用规则:abstract定义抽象类;abstract定义抽象方法,只有声明,不需要实现;抽象类中可以包含普通的方法,也可以没有抽象方法;抽象类不能直接创建,可以定义引用变量
12.接口是一种特殊的类,由全局常量(public static finall)和公共的抽象方法组成。类是一种具体的实现,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,只规定这些类里必须提供某些方法。可以通过接口引用指向实现了接口的对象。接口在使用过程中还经常与匿名内部类(没有名字的内部类,多用于关注实现而不关注实现类的名称)配合使用
13.处理异常:try{一些会抛出异常的方法}catch(){处理该异常的代码块}catch(){}finally{最终要执行的代码,用来善后}
14.基本类型和字符串之间的转换: 使用包装类的 toString() 方法;使用String类的 valueOf() 方法; 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
15.集合:用来存储任意数量的具有共同属性的对象的容器
16.集合的作用:1)在类的内部,对数据进行组织;2)简单而快速的搜索大数量的条目;3)有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;4)有的集合接口,提供了映射关系,可以通过key去快速查找到对应的唯一对象,而这个key可以是任意类型。
17.集合接口:collection接口有list(实现类为ArrayList:元素有序可重复,能在精确位置插入删除元素,底层有数组实现)
18.泛型:规定了某个集合只可以存放特定类型的对象(集合可以是任意类型的对象),可以添加规定的类型及其子类型的对象,但不能是基本类型,只能是引用类型。
19,Map支持泛型,HashMap是Map的一个重要实现类,其中的Entry对象是无序排列的,Key值和Value值都能取null,但一个HashMap中只能有一个key值为null的映射
20.