摘要:
子类的对象在创建时,首先调用父类的构造函数,再调用子类自己的构造函数。 子类的构造函数中,有一个默认的super(),为一个无参调用,这个不显示,但会被首先调用,所有才会有父类构造函数被调用的情况。 如果父类的构造函数中有参数,则super()会变无效,子类构造函数将报错,如果想要改变这种情况,可以 阅读全文
摘要:
静态方法不能访问非静态变量的原因 静态的方法和变量在内存中先产生,非静态的后产生,在静态调用时非静态可能还未创建,所以会发生错误,故不能访问。 static的内存图 静态代码块 ` 在类中由static包起来的代码块,在创建此类的第一个对象的时候被调用,在所有构造函数前执行,且只执行一次 用处:一般 阅读全文
摘要:
格式化代码:Ctrl+Alt+L 自动生成代码:ALT+INSERT. 重命名:SHIFT+F6 LISTFORI LISTFORR NEW OBJ.VAR 阅读全文
摘要:
==在不同数据类型中意义不同。 在基础数据类型中,表示的是数值的比较。 在引用数据类型中,表示的是内存地址值的比较。 一、基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围 128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取 阅读全文
摘要:
字符串常量池 只有直接用双引号定义的字符串,就直接在常量池中, 这样做是由于JAVA虚拟机为了节省内存,对同样的字符串重复使用造成的。 字符串改变的本质 在这个过程中,“abc”与“def”这两个字符串本身没有发生变化,只是new了一个新的字符串“abcdef”,这个字符串的地址给了变量str1 阅读全文
摘要:
int[] a = new int[5]; int[] b = new int{1,2,3}; int[] c = {4,5,6}; 以上几种定义都可以。 a叫动态初始化。 b叫静态初始化。 c叫静态初始化的省略格式。 a,b可以拆分书写,但c不能拆分书写。 int[] a; a = new int 阅读全文