标签:默认 jdk 分配 必须 javac 默认方法 四舍六入 它的 .exe
1.JDK 和 JRE 有什么区别?
JDK可以支持Java程序的开发,包括编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的类库(如tools.jar)等。
JRE为java的开发环境,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等),是java程序运行所需要的软件环境。
JKD包含JRE。如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
JRE根据不同操作系统(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收购SUN公司的JRE版本。
2.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
不对,Java 对于 eqauls 方法和 hashCode 方法的规定是如果两个对象 equals 方法相等则它们的 hashCode 值一定要相同,如果两个对象的 hashCode 相同则它们的 equals 方法并不一定相同。
3.final 在 java 中有什么作用?
final修饰的类,叫final类,不可被继承,
final修饰的方法,不可被重写,
final修饰的变量,不可被修改,final经常和static组合使用来定义常量。
4.java 中的 Math.round(-1.5) 等于多少?
-1
Math.round()方法准确说是“四舍六入”,5要进行判断对待。
Math.round()的原理是对传入的参数+0.5之后,再向下取整得到的数就是返回的结果,返回值为long型。这里的向下取整是说取比它小的第一个整数或者和它相等的整数。
因此Math.round(-1.5)的结果是-1.5 + 0.5 再向下取整,即-1.0取整,结果是-1.
Math.round(-1.4)的结果是 -1.4 + 0.5 即-0.9 向下取整,结果是-1。
同理,Math.round(1.5)即为 1.5 + 0.5 再向下取整,结果是2。
5.String 属于基础的数据类型吗?
不属于。
String不是基本的数据类型,是final修饰的java类,java中的基本类型一共有8个,它们分别为:
1 字符类型:byte,char
2 基本整型:short,int,long
3 浮点型:float,double
4 布尔类型:boolean
6.String str="i"与 String str=new String("i")一样吗?
不一样,如果内存中已经为"i"字符串分配了内存,那么str将指向"i"内存对象的地址;
String str = new String("i"),内存中重新分配一片内存区域存放"i", 然后str指向"i",也就是内存中实际有2个"i"对象,而且存放的地址不一样。造成资源浪费
7.抽象类必须要有抽象方法吗?
不一定
抽象类中不一定要有抽象方法,但是抽象方法在的类必须是抽象类。
8.普通类和抽象类有哪些区别?
构造函数就是在new的同时赋值,抽象类的构造函数可以为继承它的子类使用。
抽象类不能使用static修饰词,因为抽象类是不能实例化的,即不能被分配内存,而static修饰的方法在类实例化之前就已经别分配了内存,这样一来矛盾就出现了:抽象类不能被分配内存,而static方法必须被分配内存。所以抽象类中不能有静态的抽象方法。
9.抽象类能使用 final 修饰吗?
不能
抽象类生来就是要被继承使用的,而final修饰的类是不允许被继承,重写。
10.接口和抽象类有什么区别?
标签:默认 jdk 分配 必须 javac 默认方法 四舍六入 它的 .exe
原文地址:https://www.cnblogs.com/tuanzhangak47/p/10614325.html