ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础面经个人随意记录

2022-01-04 13:06:12  阅读:141  来源: 互联网

标签:随意 Java ArrayList 面经 static 修饰 抽象类 方法 final


1.final关键字?

1.final修饰的类不能被继承,
其中所有的方法都不能被重写但是可以重载
2.final修饰的方法不能被重写,
但是子类可以用父类中final修饰的方法
3.final修饰的成员变量不可变

2.static关键字?

1.static修饰的成员方法叫静态方法,
在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为需要依赖对象
2.static修饰的变量叫静态变量,静态变量被所有对象共享,在内存只有一个副本
一个成员变量被static和final同时修饰就是常量
3.static形成静态代码块优化程序性能

3.finally,finalize?

finally:一般作用于tyr-catch代码块中,在处理异常时,将一定要执行的代码放在finally代码块中
finalize:Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器调用

4.String,StringBuffer,StringBuilder?

String:底层使用一个不可变的字符数组private final char value[];
StringBuffer:线程安全,效率较低
StringBuilder:线程不安全,效率较高
因为他们的append()方法中是否有同步锁

5.接口和抽象类?

抽象类:
1.被abstract关键字修饰的类/方法叫抽象类/方法
2.抽象方法只有方法的声明,没有方法体
3.抽象类不能被实例化只能被继承
4.包含抽象方法的一定是抽象类,反之不一定
5.抽象类中的抽象方法的修饰符只能为public或protected,默认为public
6.一个子类继承一个抽象类,则子类必须实现父类的抽象方法,否则子类也必须定义为抽象类
7.抽象类可以包含属性,方法,构造方法,但是构造方法不能用于实例化,主要是被子类调用
接口:
1.被interface关键字修饰
2.接口可以包含变量,方法
3.接口支持多实现:一个接口/类可以extends多个接口

6.面向对象三大特性?

1.封装:
将类的信息隐藏在类内部
不允许外部程序直接访问
而是通过该类提供的方法来实现访问
2.继承:
3.多态

7.ArrayList和LinkedList

1.ArrayList的实现是基于数组(可以动态扩容的数组),LinkedList的实现是基于双向链表。
2.对于随机访问,ArrayList优于LinkedList
3.对于插入和删除操作,LinkedList优于ArrayList
4.LinkedList比ArrayList更占内存

标签:随意,Java,ArrayList,面经,static,修饰,抽象类,方法,final
来源: https://blog.csdn.net/weixin_44861379/article/details/122300329

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有