Java面试(一)--- Java基础知识

equals与==

==equals
基本类型判断两个值是否相等
引用类型是否引用同一个对象引用的对象是否等价

String、StringBuffer、StringBuilder

StringStringBuilderStringBuffer
内容不可变可变可变
多线程线程安全线程不安全线程安全
使用场景内容不变内容需要修改需要保证线程安全

重写(overload)与重载(override)

重载重写
使用位置继承关系中同一个类中
使用方式在方法声明上完全相同方法名相同,参数列表不同

局部变量与成员变量

局部变量成员变量
定义位置方法内部方法外部,类中
作用范围仅方法内部可用整个类都可用
默认值没有默认值有默认值,规则和数组一样
内存中的位置栈内存堆内存

抽象类与接口

抽象类接口
设计目的对类的抽象,目的是代码复用对行为的规范
设计原则自下而上,抽取子类共性自上而下,供其他类使用
实现关系单继承多实现
成员变量可以有各种类型必须是public static final
使用场景关注事物的本质只关注操作或功能

多态

多态表示一个对象有多重特征。多态机制使不同的内部对象可以共享相同的外部接口,虽然针对不同对象的具体操作不同,但通过一个公共的类,他们那些操作可以通过相同的方式予以调用。

局部内部类

局部内部类只能访问局部final变量的原因是局部内部类不会因为定义在方法中就随着方法的执行结束而消亡,当外部类的方法结束后,局部变量会随之消失,但内部类可能还存在,只有当没有谁再引用它的时候才会被回收,内部类是将局部变量复制为自己的成员变量,此时再进行修改,原来的局部变量也应该修改,但局部变量已经消失了,所以必须保证这两个变量是一致的,也就是不能修改,保证是final不可变的。

Java异常体系

在这里插入图片描述

  • Error指的是java运行时系统的内部错误,程序不会抛出该类异常,会被中断,比如OOM内存不够错误;
  • Exception包括编译器异常和运行时异常。编译器异常指在程序编译过程中,编译不通过,如IO错误,数据类型赋值错误等;运行时异常指在程序运行过程中,导致当前线程执行失败,如空指针异常、索引越界异常等。
    异常的处理方式
  • 不进行具体处理,而是抛出给调用者(throw,throws);
  • 自己处理,try…catch捕获异常进行针对性处理
    throw和throws
throwthrows
使用位置函数内部函数上
功能抛出具体的问题对象,执行到throw,功能就结束了用于声明异常,让调用者只知道该功能可能出现的问题
异常的发生执行到throw一定跑出来某种异常表示异常出现的一种可能性,不一定会发生
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值