黑马程序员_java12_java中的异同

来源:互联网 发布:火车票抢购软件 编辑:程序博客网 时间:2024/05/18 02:01

——- android培训、java培训、期待与您交流! ———-

抽象类和接口的异同

相同点
1 都是可以在内部定义抽象的方法
2 通常都是在顶层
3 都不可以实例化,都需要子类来实现

不同点
1 抽象类中可以定义抽象方法和非抽象方法。而接口中只能定义抽象方法。
2 接口的出现可以多实现。抽象类只能单继承,也就是说:接口的出现避免了单继承的局限性。
3 继承和实现的关系不一致,继承是is a ;实现是 like a

成员变量与局部变量

不同点:
1 作用范围
成员变量作用于整个类中。局部变量作用于函数中或者语句中。
2 在内存中的位置
成员变量在堆内存中,随着对象的存在而存在。而局部变量存在栈内存中。

构造函数与一般函数的不同

1 写法上的不同
构造函数必须与类名相同,而一般的函数没有这方面的限制。
2 在运行上也是不同的
构造函数时在对象一建立就运行,给对象就行初始化。而一般函数是在对象调用才执行,是给对象添加具备的功能。
3 运行次数上的不同
构造函数时一个对象建立,构造函数只运行一次,而一般的函数可以被对象调用多次。

构造代码快与构造函数的不同

构造代码快是对象一建立就运行而且是优先于构造函数运行。
构造代码块是给所有的对象进行统一的初始化。而构造函数时给对应的的对象进行初始化。

类变量和实例变量的不同

1 存放位置的不同
类变量随着类的加载而加载而存在与方法区中,实例变量是随着对象的建立而存在于堆内存中
2 生命周期的不同
类变量生命周期最长,随着类的加载而加载,随着类的消失而消失。实例变量是随着对象的消失而消失。当类可以生成多个对象,可以随时创建,但是当类没有的时候就没有办法创建实例变量了。

Collections与Collection的不同
Collection是集合框架的uige顶层接口,它里面定义了单列集合的共性问题,它有两个常见的子接口List 与Set。

Collections是集合框架中的一个工具类。该类中的方法都是静态的。提供的方法中有可能对list集合进行排序,二分查找等方法。通常常见的集合都是线程不安全的。因为要提高效率。如果多线程操作这些集合时,可以通过该工具类中的同步方法,讲不安全的集合转换成安全的。

传统for和高级for的不同
高级for有一个局限性。必须有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统的for,因为传统的for可以定义角标。

throw与throws的不同点

throw定义在函数内,用于抛出异常对象
throws定义在函数上,用于抛出异常类,可以抛出多个,用逗号隔开。

线程与进行的不同
进程是一个正在执行的程序。每一个进程执行都有一定的执行顺序。该顺序是一个执行路径或者叫一个控制单元。

线程就是进程中的一个独立的控制单元。线程在控制着进程的执行。一个进程中至少有一个线程。

0 0
原创粉丝点击