A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

常用集合的自我理解:List中判断元素是否相同依据的原理是调用元素的equals方法。自定义需重写equals方法。是即将存入的元素调用自己的equals即将已存入的元素当做参数传入一一比较知道找到相同的。
HashSet比较是先比较hashcode,如果hashcode相同,调用元素的equals比较,自定义需重写hashCode方法和equals方法
TreeSet是a.调用元素的compareTo方法进行比较,返回int值,自然排序,元素自定义需实现Comparable接口,二叉树结构。b.TreeSet的构造方法可传入自定义的比较器,比较器可以重写compare方法自定义。


多态的自我理解:超类引用创建子类对象Animal p=new Cat()
总结:除了非静态方法,编译运行都看父类,非静态方法运行看右边。
子类对象会自动向上转型,会去掉子类中超类没有的方法,但如果子类重写了超类的方法并且方法中用到了超类中没有的成员变量是可行的。
静态方法没有多态性,因为静态方法是和类绑定的,不会存在不知道具体类型的情况(无论编译和运行都看等号左边)。如果父类中没有X静态方法,即使子类定义了X静态方法,也不能访问。
构造函数是不具有多态性的,因为构造方法本身是静态方法。
④成员变量访问是由编译器决定的,如果父类中没有X成员变量,即使子类定义了X,也不能访问。因此不会表现出多态(无论编译和运行都看等号左边)。
⑤调用方法是根据运行时对象类型延时绑定调用,会表现出多态(编译看等号左边,运行看等号右边)。方法运行时访问子父类同名的成员变量X,访问的是子类的X.单独访问父类引用的同名变量X,访问的是父类的X。
⑥可将超类引用强制转换成子类类型来访问子类特有方法。
24.直接创建内部类对象Outer.Inner Oi=new Outer().new Inner();如果内部类被static修饰, Outer.Inner Oi=new Outer.Inner();
局部内部类只能访问被final修饰的局部变量。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马