一些关于Java的琐碎知识点
作者:网络转载 发布时间:[ 2013/12/9 10:13:05 ] 推荐标签:
11、
|
以下是代码片段: class Z extends A implements B,C { } //注意这个顺序先派生类,再实现接口。 |
12、有关内部类:当我们产生一个派生类的对象的时候,它会调用基类的构造函数,产生一个基类的对象。因此
|
以下是代码片段: class Car { class Wheel { } } class PlaneWheel extends Car.Wheel { public static void main(String[] args) { PlaneWheel pw = new PlaneWheel(); } } |
这是不能通过编译的,因为我们要产生pw,必须先产生Car.Wheel的对象,而它是内部类,所以要产生它的对象,必须先产生外部类的对象,才能建立起内部与外部的引用关系。
因此作出改变:
|
以下是代码片段: class PlaneWheel extends Car.Wheel { PlaneWheel(Car car) { car.super(); } public static void main(String[] args) { Car car = new Car(); PlaneWheel pw = new PlaneWheel(car); } } |
21、javac A.java可以生成B.class,前提是classB在A.java中被声明为一个类,且不是Public的。
22、finally的问题:不是在try,catch之后的语句相当于finally,因为如果在try中有return语句,则其后的是不会被执行的。而如果放在finally中,则一定会执行。
如果在代码中会有一个严重错误,而不想让finally中的语句执行,则写
System.exit(-1);来避免其执行。//不是0可以。
23、c++中允许程序员重载操作符,但java中不允许。针对String的"+"和"+=",是java中被重载的操作符。
24、StringBuffer的应用:
StringBuffer sb = new StringBuffer().append("a").append("bc").append("123");
可用toString()方法,将其转化为toString();
由于在打印时会自动调用toString方法,因此,打印时不必显示加上。
25、java中的索引是从0开始,而且,对于一个区间的数值,是大于等于,小于的关系。即前面的数字是包含的,而后面的是不包含的。
26、java中,传参时:对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。但是对于引用的拷贝,是浅拷贝,即指向了堆中同一处内存。
因此在改变值的时结果不一样,对于基本类型,其回到传参者时没有改变其值,而对于引用,其值则改变了。

sales@spasvo.com