1、为什么java 中有很多接口没有方法?
1.首先java 是继承自C++,由于只能是单项继承,也就引入了接口的概念,因为Java中的 接口可以多实现,这样就达到了类似C++ 多继承的特点。
2.接口中的默认常量值是使用public static final关键字进行修饰的,方法体都是使用public修饰;
3.Java语言中,没有方法的接口称为标识接口,没有任何语义上的要求,仅仅充当一个标识的作用,比较常见的是 Cloneable Serializable等,在使用时,经常用instanceof来判断是否实现了给定的标志性接口。
2、Java中使用clone的用法和作用:
Java 中的取消了C/C++ 中指针的概念,但是任然需要复制类,让复制的类与原先的类之间没有任何引用关系,即修改一个类,对另一个类没有影响。在prototype中就需要clone一个实例对象。
基本数据类型是按值传递的,引用数据类型是采用引用传递,
关于深克隆与浅克隆的区别,主要是因为是一个类是只复制类本身,还是把类中其他的引用类型也复制了。前者是浅克隆,后者是深克隆。
具体详见:https://blog.csdn.net/qq_39817135/article/details/101313225 中关于clone的阐述。
3、Java中 package的作用。
提供多层的命名空间,使得在不同的package中,可以存在相同名的class;
对类按照功能分类,编译之后会自动放在package目录之下。
包package中由class和interface组成