自我总结基础篇

 

2021毕业的Java应届生,面试需要掌握哪些技能,才能收割offer

1.final关键字:

        修饰类,类不可以被继承;

        修饰方法,方法不能被重写,可以继承;

        修饰变量,变量不可以被修改;

2.static关键字:

        被static修饰变成了静态常量,被多个对象同时共享,静态常量改变,所有的对象中的静态常量全部跟着改变。

        static修饰方法,可以根据类名.方法名调用

        static修饰的代码块成为静态代码块,Java加载类的时候会加载静态代码块,但只加载一次。

3.面向对象特点:

        封装:隐藏一切具体实现的细节,只向外界提供接口;

        继承:从已经存在的类中派生出新的类,提供信息的是符类,新生成的类是子类

        多态:实现前提:继承,重写,向上造型

                解释:允许不同的子类对象对同一消息做出不同响应,(同样的对象调用同样的方法做出了不同分响应)多态分为编译时多态和运行时多态。

4.子类继承符类的构造方法什么时候会调用:

        在子类new对象的时候会先调用父类对象的构造方法;

5.什么是Java的跨平台性:

       Java在源码编译结束后,执行编译功能,将源码送到编译器中编译成只面向Java虚拟机的.class文件,Java虚拟机(jvm)通过解释器,将Java字节码文件转换为不同平台需要的代码程序。

6.JDK、JRE、JVM有什么区别

JDK:开发工具包      Java虚拟机+核心类库 +编译工具

JRE:Java虚拟机+核心类库        是运行环境

JVM:Java虚拟机 

7.abstract class和interface有什么区别?

abstract class称为抽象类。
什么是抽象类?
我们把用abstract修饰的方法,称为抽象方法。抽象方法没有方法体。而我们把含有抽象方法的类称为抽象类,必须用abstract修饰,这就是 abstract class
interface称为接口
什么是接口?
接口就是特殊的抽象类,里面所有的方法都是抽象方法,没有一般方法。但是在jdk1.8版本后推出了接口中也可以有一般方法,需要用default ,static修饰

二者的区别:

- 实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。
- 构造函数:抽象类可以有构造函数;接口不能有。
- main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。
- 实现数量:类可以实现很多个接口;但是只能继承一个抽象类。
- 访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。

8.重写和重载的区别

方法的重载和重写都是多态的实现方式,区别在于重载是编译时多态,重写是运行时多态

重载发生在同一个类中,同名的方法有着不同的参数列表被视为重载

重写发生在子类与父类之间,重写要求子类重写方法与父类的被重写 方法有相同的返回值类型,访问权限大于父类方法

区别:

1.参数列表

重写要求参数列表与被重写方法完全一致

重载要求参数列表中参数的顺序、类型、个数完全不同

2.访问权限,方法的修饰符

重写要求方法权限大于等于被重写方法

重载要求方法名相同即可,没有权限限制

3.异常

重写不能抛出父类没有的一般异常

只能抛出非运行时异常

4.前提

重写的前提是继承,有父子级关系

重载没有前提

9. ==和equals()的区别?

 对于关系操作符 ==:

  • 若操作数的类型是基本数据类型,则该关系操作符判断的是左右两边操作数的是否相等
  • 若操作数的类型是引用数据类型,则该关系操作符判断的是左右两边操作数的内存地址是否相同。也就是说,若此时返回true,则该操作符作用的一定是同一个对象。

使用equals方法,内部实现分为三个步骤:

  • 先 比较引用是否相同(是否为同一对象),
  • 再 判断类型是否一致(是否为同一类型),
  • 最后 比较内容是否一致

Java 中所有内置的类的 equals 方法的实现步骤均是如此,特别是诸如 Integer,Double 等包装器类。

对于 equals 方法:

  • 本意 是 比较两个对象的 content 是否相同
  • 必要的时候,我们需要重写该方法,避免违背本意,且要遵循上述原则(一致性、传递性、对称性、自反性)
  • 任何情况下,x.equals(null)【应使用关系比较符 ==】,永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”     所以我们比较对象的时候一般都是先用==判断是不是为空用   ||   连接要比较对象.equals();

10.hashcode和equals联系与区别:

hashcode是系统用来快速检索对象而使用
equals方法本意是用来判断引用的对象是否一致
重写equals方法和hashcode方法时,equals方法中用到的成员变量也必定会在hashcode方法中用到,只不过前者作为比较项,后者作为生成摘要的信息项,本质上所用到的数据是一样的,从而保证二者的一致性

对象的hash地址不一定是实际的内存地址。(想想hashmap)

11.throw和throws的区别

throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。
throws 属于异常处理的一种方式,声明在方法的声明处。

12.Java中操作字符串的类有啥,他们的区别:

String、stringbuffer、stringbulider

String被final修饰、好处(1.实现常量池,不用new对象,2.线程安全,不能被修改所以随便共享,3.hash不可变,适合做map中的key)

stringbuffer线程安全,低效    stringbulider高效、线程不安全

所以:单线程用string'bulider   多线程用stringbuffer

 13.什么是序列化与反序列化?

作用:在网络上传输对象字节序列,把对象字节保存到硬盘上。减少内存消耗。或者在远程rpc调用对象的时候需要。

序列化就是把对象存储到硬盘上,反序列化就是获取对象文件中的数据,转成后台对象类的数据。

14.String 类的常用方法都有那些?

- indexOf():返回指定字符的索引。
- charAt():返回指定索引处的字符。
- replace():字符串替换。
- trim():去除字符串两端空白。
- split():分割字符串,返回一个分割后的字符串数组。
- getBytes():返回字符串的 byte 类型数组。
- length():返回字符串长度。
- toLowerCase():将字符串转成小写字母。
- toUpperCase():将字符串转成大写字符。
- substring():截取字符串。
- equals():字符串比较

15. 

A instanceof  B   B是不是A的父类

Java访问权限从大到小:public-protect-default-private

for循环(条件一;条件二;条件三) 

条件一:var 一个值
条件二:进入循环的判断条件
条件三:var 的值每一次循环完后,是否递增或递减

线程安全的类有hashtable concurrentHashMap synchronizedMap

标识符:

  1. 标识符的组成元素是字母(a-z,A-Z),数字(0~9),下划线(_)和美元符号($)。
  2. 标识符不能以数字开头。
  3. java的标识符是严格区分大小写的。
  4. 标识符的长度可以是任意的。
  5. 关键字以及null、true、false不能用于自定义的标识符。

10.泛型的知识:

1. 只看尖括号里边的!!明确点和范围两个概念\*

2.  如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List<A>,List<B>,List<Object>\**

3. 如果尖括号里面带有问号,那么代表一个范围,<? extends A> 代表小于等于A的范围,<? super A>代表大于等于A的范围,<?>代表全部范围

4. 尖括号里的所有点之间互相赋值都是错,除非是俩相同的点

5.  尖括号小范围赋值给大范围,对,大范围赋值给小范围,错。如果某点包含在某个范围里,那么可以赋值,否则,不能赋值

6. List<?>和List 是相等的,都代表最大范围

7. ----------------------------------------------------------------------------------

   补充:List既是点也是范围,当表示范围时,表示最大范围

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值