对象:万物皆对象,对象因关注产生
属性的Java的引用数据类型的部分类型:基本数据类型的数组,接口,字符串,引用数据类型数组
能产生对象的方式:使用新的关键字,反射,克隆
注:反射产生对象的方式:
有两种方式:
1.使用类对象的的的newInstance()方法来创建该类对象对应类的实例,这种方式要求该类对象的对应类有默认构造器,而执行的的newInstance()方法时实际上是利用默认构造器来创建该类的实例。
2.先使用类对象获取指定的构造对象,再调用构造对象的的的newInstance()方法来创建该类对象对应类的实例。
多态描述:多态是指相同的行为不同的体现,JAVA中的动态绑定是实现多态的主要手段
定义一个常量使用修饰符决赛
继承:
在继承中,如果子类没有重写父类的方法,子类对象调用方法如果子类中的方法没有匹配的,程序会去查询父类的方法,只要参数匹配,则会打印父类的方法内容(不管是否重写父类的方法)
String str = new String(“hello”)与String str2 =“hello”区别:
String s = new String(“hello”)会创建2(1)个对象,String s =“hello”创建1(0)个对象。
注:当字符串常量池中有对象hello时括号内成立!
==与equals()方法的区别:
- ==:比较引用类型比较的是地址值是否相同
- 等于:比较引用类型默认也是比较地址值是否相同,而字符串类重写了的equals()方法,比较的是内容是否相同。
递归:
1在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
2递归的时候一定要给自己留一个出口,不然就是死递归,会无限循环。
3构造方法不能递归自己,可以递归其他方法
垃圾回收:开发人员不能干扰垃圾回收,垃圾回收会回收没有引用指向的对象,程序员可以调用的System.gc();
注:接口中没有变量,只要常量(public static final),接口中的方法必须是publi修饰的