Java 基础扫盲

此博客内容较为基础,如果你刚毕业或者准备应对学校的考试,可作为参考

本文章只限于JavaSE内容,如有错误或者漏洞还请各位前辈指出。

本文章想到哪写到哪,大体概括了java基础的易考问题。

对于刚毕业找工作的同学这些问题很有可能涉及

--------------------------------------------------------------------------------------------------------------------------------------------------------


1、java基本数据类型有8种:   int 、short、 byte、 long ,float、double 、boolean、char;

     分别有其对应的封装类,Integer、Short、Byte、Long、Float、Double、Boolean、Character。

     此8种数据类型按照如上顺序四个一组记忆较为押韵。在记封装类时只要记住开头和结尾即可,其他全是开头字母大写。那么有可能被问到基本类型为什么要给他封装呢?这里可以看到,我们叫后面的为“基本类型的封装类”所谓类,就可以调用方法,其方法在封装类中。对于基本数据类型,我们是不能在其后用 "."的形式调用其操作方法的。而封装后,即可方便的执行一些操作。

2、此处再提一下,String不是一个数据类型。String是一个以Final修饰的类。既然是Final修饰,说明String类是不能被继承的。

     关于Final,他可以修饰“类、 方法 、属性”分别表示:类不可被继承,方法不能被重写(但可以重载),属性值不可变(为常量)

     String中提供各种对字符串的操作方法。

3、所有的类都是Object的子类。所有的类都有构造方法(包括抽象类和内部类)、Object类中提供以下方法:

         toString() ;hashCode(); equals();notify();notifyAll(); wait();finalize()

4、类中的元素:类中可以存在 常量、变量、方法、内部类、初始化块、静态块、构造器、析构函数

      这里对其部分成员解释一下

                         静态块:形式为:static{ ...}形式,静态块中的代码在类被加载时调用,且只调用一次,即,只在第一次new这个类的实例时调用,用其对静态变量赋值。

                         初始化块:形式为:{...}形式(无方法名,修饰符等)在类实例化时调用,每new一个对象调用一次。且在构造方法执行前执行。

                          finalize() 为析构函数,一般不需要手工重写,在此提到是为了区分于:final、 finally。此三者无任何关系,final刚才说过,为修饰符。finalize为Object类中继承而来的方法,用于在类被虚拟机垃圾回收之前执行一些操作,而finally为异常处理时最后执行的代码块。


5、说完了基本数据类型,我们来谈一下java中的集合。java中的集合可分为三:Set,List, Map

      其中Set和List接口都继承自conllection接口。而Map接口则和conllection接口属于并列关系。

      三者都有各自的实现类:

          Set接口实现类:HashSet(无序)、LinkedHashSet(插入顺序)、TreeSet(有序)

           List接口实现类:ArrayList 、LinkedList 、Vector(线程安全的)

          Map接口实现类:HashMap(允许一个null键,多个null值)、LinkedHashMap(插入顺序)、TreeMap、Hashtable(线程安全的,不允许null的键和值)

Map中的key底层是Set,所以必须是唯一的

           当类的实例存储在Set中时 重写类的 equals、hashCode方法,并实现comparable接口的compareTo方法

           当类的实例存储在List中时 重写类的 equals方法

           当类的实例作为键在Map中时 重写类的 equals、hashCode、方法,作为值时重写equals方法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值