什么是Java虚拟机
任何一种可以运行Java字节码的软件均可看成是Java的虚拟机(JVM)
Java号称是一门“一次编译到处运行”的语言,从我们写的java文件到通过编译器编译成java字节码文件(.class文件),这个过程是java编译过程;而我们的java虚拟机执行的就是字节码文件。不论该字节码文件来自何方,由哪种编译器编译,甚至是手写字节码文件,只要符合java虚拟机的规范,那么它就能够执行该字节码文件。
equals 和 == 的区别?
1、==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同
2、==是指对内存地址进行比较
equals()是对字符串的内容进行比较
3、==指引用是否相同 equals()指的是值是否相同。
一个比较的是内存空间(或者地址),一个比较的是内存空间的值
多态分为重载和重写
重载是指方法相同参数不同
重写是根据需要实现父类的方法、产生不同的子类从而表现出不同的行为(当父类的方法无法满足当前子类的业务需求时),方法名和形参列表相同
在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
帮助子类做初始化工作。
静态方法和实例方法有何不同?
判断方法:是否有static关键字?调用方式不同。
一个类的构造方法的作用是什么?若一个类没有声明构造方法,改程序能正确执行吗?为什么?
主要作用是完成对类对象的初始化工作。可以执行。因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。



