随笔分类 - java
摘要:先看一个demo,然后进行归纳。 通过单步调试及查阅相关资料可对Java初始化归纳出以下结论: 1、初始化父类中的静态成员变量和静态代码块。 2、初始化子类中的静态成员变量和静态代码块。 3、初始化父类的普通成员变量和代码块,再执行父类的构造方法。 4、初始化子类的普通成员变量和代码块,再执行子类的
阅读全文
摘要:今天在刷算法题时,新建了ArrayList变量,发现ArrayList与null结合起来使用时经常出错。 请查看如下几种例子, 1、new一个ArrayList<>类型的数据, 2、将ArrayList<>变量置为null 通过这两个例子,可以看出list==null和用new新建出的arrayLi
阅读全文
摘要:利用反编译具体看看"+"的过程 可以看到的确是创建了StringBuilder类,然后调用了两次append方法,并且调用了toString方法。 查看AbstractStringBuilder源码可知: s+i的过程可等价为s+String.valueOf(i),也可等价为new StringBu
阅读全文
摘要:今天在刷一道算法题时,突然遇到StringBuilder作为形参和String作为形参时,最终得出来的结果不同。故尝试了几个demo看看它们之间的区别。 当String类型作为参数时, 输出结果为: 即说明形参的改变并不影响实参的改变,本质上是值的传递。 当StringBuilder类型作为参数时,
阅读全文
摘要:数组是对象,但是这个数组对象并不是从某个类实例化来的,而是由JVM直接创建的,因此查看类名的时候会发现是很奇怪的类似于"[I"这样的样子,这个直接创建的对象的父类就是Object,所以可以调用Object中的所有方法,包括你用到的toString()。所以就打出了类似于[I@15db9742这样的稀
阅读全文
摘要:因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。 它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发ja
阅读全文
摘要:参考:java核心技术 一、Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。 Java中的泛型基本上都是在编译器这个层次来实现
阅读全文
摘要:这里的局部变量就是在类方法中的变量,能访问方法中变量的类当然也是局部内部类了。我们都知道,局部变量在所处的函数执行完之后就释放了,但是内部类对象如果还有引用指向的话它是还存在的。例如下面的代码: 当out.method()方法执行结束后,局部变量 locvar 就消失了,但是在method()方法中
阅读全文
摘要:1 import java.util.*; 2 3 public class ScannerDemo 4 { 5 public static void main(String[] args) 6 { 7 System.out.println("系统默认编码: "+System.getProperty("file.encoding")); 8 ...
阅读全文
摘要:说明构造块优于构造方法执行,而且每次实例化对象时都会执行构造块中的代码,会执行多次。 2、静态代码块 说明静态代码块优先于主方法执行,而在类中定义的静态代码块优于构造块执行,而且不管有多少个对象产生,静态代码块只执行一次。
阅读全文
摘要:String有两种实例化方式,一种是通过直接赋值的方式,另外一种是使用标准的new调用构造方法完成实例化。 上述结果说明,使用String直接赋值后,只要是以后声明的字符串内容相同,则不会再开辟新的内存空间。对于String的以上操作,在java中称为共享设计,这种设计思路是,在java中形成一个对
阅读全文
摘要:链接:http://www.zhihu.com/question/27468564/answer/101951302 当软件还非常简单的时候,我们只需要面向过程编程:定义函数函数一函数二函数三函数四定义数据数据一数据二数据三数据四最后各种函数,数据的操作。当软件发展起来后,我们的软件变得越来越大,代
阅读全文
摘要:对于基本数据类型而言,即如下八种基本数据类型,int,boolean,char,byte,short,float,double,long。 说明:对于基本数据类型,==只是比较两个变量的值,并没有比较其地址,并且其变量复制后,任意改变其中一个变量时,并没有对另一个变量产生变化,默认实现的是深拷贝。
阅读全文

浙公网安备 33010602011771号