java 复习

1. java的几个特点:

(1)与C++相比,语法简单;内存分配和回收不需要我们过多关注,C++可以多继承,java只能单继承。

(2)跨平台:在不同的操作系统中,JVM规范都是一样的,被jvm加载成各个操作系统所支持的,屏蔽了底层操作系统的差异。

2. 编译时多态和运行时多态:

(1)编译时多态。指函数的重载,实现的方式是根据函数的名字不同来调用的。

(2)运行时多态。

也叫动态绑定。是指执行期间(而非编译期间)判断所引用对象的实际类型,根据实际类型判断并调用对应的属性和方法。

例子:

abstract class Animal{
private String name;
Animal(String name){this.name = name;}

public void enjoy()
{
//子类对该方法不满意,重写
System.out.println("叫声");
}

}

待完成。。。

3. 抽象类和接口的区别:

(1)接口是对动作的抽象,抽象类是对根源的抽象。
例如:男人、女人,这两个类,他们的抽象类是人。人可以吃东西,狗可以吃东西。“吃东西”这个动作定义成接口。

(2)在高级语言中,一个类只能继承一个类(抽象类),却可以继承多个接口。

 

4.Java中有人分为值传递和址传递。引用传递也就是址传递。

比如下列的方法
public void add(int a) {
int b = a;
}
这个可以看作是值传递,a是基本数据类型,他把他的值传给了b
public void add(Object obj) {
Object objTest = obj;
}
这个可以看作是址传递,obj是引用数据类型,是把他栈中指向堆中的对象的地址值赋值给了objTest.
这时候就同时有两个引用指向了堆中的某个Object对象

其实这样看来,java应该只有值传递的。如果是基本数据类型,传递的就是实际的值.
如果是引用数据类型,传递的就是该引用的地址值.
posted @ 2015-06-14 22:48  Achilles_Snow  阅读(130)  评论(0编辑  收藏  举报