09. 接口和抽象类的区别是什么?
JAVA 提供和支持创建抽象类和接口. 它们的实现由共同点, 不同的在于:
1. 接口中所有的方法隐含的都是抽象的. 而抽象类则可以同时包含抽象和非抽象的方法.
2. 类可以实现很多个接口, 但是只能集成一个抽象类可以不识闲抽象类和接口声明的所有方法, 当然, 在这种情况下, 类也必须得声明是抽象的. 抽象类可以在提供接口方法实现的情况下实现接口.
3.JAVA 接口中声明的变量默认都是 final 的. 抽象类可以包含非 final 的变量.
4.JAVA 接口中的成员函数默认是 public 的. 抽象类的成员函数可以是 private,protect 或者是 public. 接口是绝对抽象的, 不可以被实例化, 抽象类也不可以被实例化.
10. 什么是值传递和引用传递?
值传递是对基本型变量而言的, 传递的是该变量的一个副本, 改变副本不影响原变量.
引用传递一般是对于对象型变量而言的, 传递的是该对象地址的一个副本, 并不是原对象本身.
一般认为, JAVA 内的基础型数据传递都是值传递. JAVA 中实例对象的传递是引用传递.
来源: http://www.bubuko.com/infodetail-2966857.html