会,比如一个足够大的整数减去一个足够大的负数,结果就会造成溢出。导致内存泄漏。
Java实现多态的机制是什么?
方法名称相同,方法的参数个数或者类型不相同。Java进行垃圾回收主要是对动态内存进行垃圾回收,一般是当内存不够用的时候进行垃圾回收,或者通过system.gc()来通知系统进行垃圾回收。但是不一定保证执行。
静态变量只能是静态方法才能去调用他。
super.clone(),这是clone()方法的默认行为,因为首先要把父类中的成员复制之后,然后才能复制自己的成员。
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:
- public class A implements Cloneable {
- public String name;
- public Object clone() {
- A o = null;
- try {
- o = (A) super.clone();
- } catch (CloneNotSupportedException e) {
- e.printStackTrace();
- }
- return o;
- }
- }
-
- A a1=new A();
- A a2=new A();
- a1.name="a1";
- a2=a1;
- a2.name="a2";
- System.out.println("a1.name="+a1.name);
- System.out.println("a2.name="+a2.name);