java

标签: java

Java创建对象的四种方式

1.通过new新建对象 通常都是使用java的关键字new来创建对象实例。 若有一个A类,则可以通过下面的语句创建A类的对象实例并指定到变量obj。 //定义A类 class A{ } //通过new创建A的对象 A a = new A(); 2.通过clone复制对象 若程序写成如下,则可以根据当前对象(this)建立一个新实例对象(没有调用构造函数). public class A implements Cloneable{ private A obj; public A cloneA() { try { obj = (A)this.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return obj; } } 如果需要复制上面的那个obj指向的对象实例时,调用somethingNew.cloneSomething()方法就ok了。 但是为什么不直接使用somethingNew.clone()呢?

阅读全文...

Java静态变量的初始化(static块的本质)

转自:http://blog.csdn.net/darxin/article/details/5293427 在网上看到了下面的一段代码: public class Test { static { i = 20; } public static int _i = 10; public static void main(String[] args) { System.out.println(i); } } 上述代码会打印出什么结果来呢?10还是20?本文将以此代码为引子,着重讨论一下静态变量的初始化问题。 问题1:静态变量如何初始化 Java类中可以定义一个static块,用于静态变量的初始化。如: public class Test { public static int _i; static { _i = 10;

阅读全文...

java为什么不支持多继承?

多继承指一个子类能同时继承于多个父类,从而同时拥有多个父类的特征,但缺点是显著的。 1.若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。 * * 如: public class classA // 父类 classA{ privateint num = 0;} public class classB // 父类 classB{ private int num= 1;} public class classC extends classA,classB // 子类 classC 继承于 classA 和 classB{ public static void main(String [] args){ classC obj = new classC(); obj.print(); // 调用父类成员变量 num

阅读全文...