Java 基础总结

来源:互联网 发布:ctf flag.php 编辑:程序博客网 时间:2024/05/27 06:56

未完,有待编辑优化。。。。。。。。


引:

super,this区别 ; 抽象类 接口区别;集合类详解


super是显示父类的构造方法 ,可以调用父类的所有非私有的属性、方法、构造方法;

this是在同一个类中某一构造函数调用另一构造函数时使用的关键字;


两者都必须写在方法体中的第一行,不能同时出现在一个方法体内,不能再static环境中使用(static 语句块 ,static方法)


抽象类 

抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

抽象类不能用来创建对象;

如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

接口:

接口是抽象类的特例,接口中可以含有 变量和方法。但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误),并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法。从这里可以隐约看出接口和抽象类的区别,接口是一种极度抽象的类型,它比抽象类更加“抽象”,并且一般情况下不在接口中定义变量。


抽象类有构造方法,存在抽象方法的类一定是抽象类

抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;

抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;

接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

一个类只能继承一个抽象类,而一个类却可以实现多个接口

集合类

Set

相对无序,不存在重复的元素

hashset 按照hash码规则排序

List

内部有序,能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组,List允许有相同的元素。

Map

以键值对方式存储,可以有空的键或者值;


hashmap hashtable区别

hashmap存在空键或空值,但是线程不安全,不是同步的

hashtable 任何非空(non-null)的对象都可作为key或者value;线程安全,可以同步



引用

http://www.cnblogs.com/dolphin0520/p/3811437.html;

http://blog.csdn.net/softwave/article/details/4166598;








0 0
原创粉丝点击