1. JDK、JRE、JVM的区别?
JDK:Java开发工具包,他包括了JRE和Java开发工具(java.exe)
JRE:Java运行环境,包括JVM标准实现以及Java核心类库
JVM:java虚拟机,就是将编译好的class文件进行解释执行,保证Java的跨平台
2. 面向对象的特性?
1. 封装:把数据和数据的操作封装起来,对外只提供接口访问
2. 继承:从已有的类继承信息创建新类的过程
3. 多态:引用同一个方法做了不同的事,分为:重写和重载。
重载是用统一的方式处理不同的数据类型。在同一个类中方法名相同,参数列表不同,(编译时多态)
重写是对父类方法的重新定义。有父子类继承关系,方法名参数列表返回值相同,(运行时多态)
修饰符
访问权限 类 包 子类 其他包
public √ √ √ √ (对任何人都是可用的)
protected √ √ √ × (继承的类可以访问以及和private一样的权限)
default √ √ × × (包访问权限,即在整个包内均可被访问)
private √ × × × (除类型创建者和类型的内部方法之外的任何人都不能访问的元素)
&&与&的区别
&&一边为false则直接返回false
&一边为false还会计算右边
3.get和post请求的区别?
本质上没有区别,底层都是tcp连接.
get请求表示向服务器请求数据;
post请求表示向服务器提交数据.
4.eqauls和==的区别?详情
一个是方法一个是运算符
(1)== 对于基本数据类型的变量,==是直接对其值进行比较
(2)对于引用数据类型的变量,则是对其内存地址的比较
★equals底层就是==,没有区别
★为重写时比较的是地址值,date,string对equals重写比较的是对象的内容
equals不能用于比较基本数据类型
5.重写和重载的区别?
重载时编译时多态,重写是运行时多态,
重载要求在同一个类中,方法名相同,参数列表不同,与返回值无关
重写是在子父类中,要求参数列表返回值都相同(修饰权限不能低于父类)
6.抽象类(abstract class)和接口(interface)有什么异同?
构造方法来说:抽象类可以有,接口没有
成员变量:抽象类必须是public,接口都可以,接口的成员变量是常量
有抽象方法就是抽象类
方法:抽象类可以有普通方法,接口必须是抽象方法
相同:
不能够实例化,
未全部实现抽象类或接口时,该类为抽象类
7. Math.round(-1.5)=-1
Math.round(a) =a+0.5后舍弃小数
8.基本数据类型
byte short int long boolean char float double
9.object类的方法
equals,hashCode,toString,notify,notifyAll,wait,finalizy,clong,getClass
是否可以继承 String? ( × ) String 类是 final 类,不可以被继承。
char 型变量中能不能存储一个中文汉字,可以一个char是2个字节
------更新于2021年4月12日
------持续更新ing