Java基础知识(不定期更新)

1、继承性 extends

默认继承java.lang.Object,只能有一个直接父类。当前类和父类之间构造方法存在约束关系:
(1)当前定义的类的构造方法必须调用其直接父类的构造方法,而且调用语句必须是当前定义的类的构造方法的第一条语句,格式是super(调用参数列表)
(2)如果没有显示调用,则java虚拟机会自动在当前定义的类的构造方法的第一条语句前自动、隐式的添加一条super(),如果父类没有没有不含参数的构造方法,则编译错误。

2、多态性

(1)静态多态性,发生在同一个类里面的同名方法,也包括一个类对于父类同名方法在功能上的重载(overload),在方法声明的形式上要求同名的方法具有不同的参数列表。
(2)动态多态性,指的是在子类和父类中均定义了具有基本相同的非静态成员方法,成为覆盖(override)也可称重写,要求子类的成员方法和父类对应的成员方法具有相同的方法名,相同的参数个数,对应的参数类型也相同。

3、String、StringBuffer、StringBuilder的区别

(1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,可以通过append()方法来修改值。简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
(2)String类对象的性能远不如StringBuffer类。
(3)StringBuilder线程不安全、StringBuffer线程安全。

4、hashmap、hashtable的区别

(1)hashmap线程不安全,允许有NULL的键和值
(2)hashtable线程安全,不允许有NULL的键和值

5、try…catch…finally 中return的执行顺序

(1)try-catch-finally结构中,不管有没有异常,finally的语句一般总是会执行,如果try和catch中有return而finally里没有,那么执行顺序为try/catch中return之前的语句->finally语句->try/catch里的return
(2)如果try…catch…finally里均有return,那么执行顺序为try/catch中return之前的语句->finally语句->finally里的return
(2)如果执行到try/catch语句里的System.exit(0),则退出程序,这是finally语句块将不会被执行到

6、类成员的访问控制模式及其允许访问范围

关键字在同一个类内在同一个包内子类所有类
public
protect
default
private

7、ArrayList和LinkedList的大致区别:

ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值