提示: 这个题的考点在于”版本”, 千万不要回答成: 我用的是IDEA, JDK, VMware…这种无效回答.
答: IDEA2019.3, JDK14, VMWare14.2, CenterOS7.0, MySQL5.8, Zookeeper3.4.5等.
提示: 最好按照范围从大到小来回答.
答: JDK是Java开发工具包, 包含开发Java程序所需的工具和JRE.
JRE是Java运行环境, 包含运行Java程序所学的核心类库和JVM.
JVM是Java虚拟机, 它是用来保证Java程序跨平台的.
答: 不是, main是主函数的名字, 可以被JVM识别, 也是程序的主入口, 所有代码的执行都是从这里开始的.
答: 开源, 跨平台, 多线程, 面向对象,继承,多态.
答: 封装, 继承, 多态.
答: 变量指的是在程序运行过程中, 其值可以在一定范围内变化的量, 可以被多次赋值. 常量指的是在程序运行过程中, 其值不能发生改变的量, 且只能赋值一次.
答: 它是一个关键字, 表示”最终”的意思, 可以修饰类, 修饰变量, 修饰方法.
答: 有两种, 分为自定义常量和字面值常量. 其中字面值常量又分为6种:
整数常量, 小数常量, 字符常量, 字符串常量, 布尔常量, 空常量.
答: 有两种, 分为基本类型和引用类型. 其中:
引用类型: 指的是数组, 集合, 自定义类型等.
基本类型: 有四类八种.
四类: 整型, 浮点型, 布尔型, 字符型.
八种: byte, short, char, int, long, float, double, boolean.
答: 标识符由: 英文大小写字母, 数字, 下划线, 美元符 这四部分任意拼接组成.
答: ‘a’: 97 ‘A’: 65 ‘0’: 48
答: 它们的用法分为两类: 此处以++举例(–类似)
答: &: 逻辑与, 有false则整体为false, 不会发生短路效应, 不管前边时候出现false, 整个表达式都会执行.
&&: 短路与, 有false则整体为false, 会发生短路效应. 前边出现false, 后边不执行.
答:for和其他两个循环的区别在于:
for循环执行完毕后, 初始化条件不可以继续使用, 而其他两个循环执行完毕后, 初始化条件还可以继续使用.
do.while循环和其他两个循环的区别在于:
do.while循环是: 不管判断条件是否成立, 循环体都会执行一次. 而其他两个循环是判断条件不成立, 循环体不执行.
答:break是用来终止循环的, 循环不再继续执行, 而且它还可以应用到switch语句中. continue是用来结束本次循环, 进行下一次循环的, 循环还会继续执行.
答:方法重写指的是: 子类出现和父类一模一样的方法时, 称为方法重写, 方法重写要求子父类方法返回值的数据类型也必须一致或者有子父类关系.
方法重载指的是: 同一个类中出现方法名相同, 参数列表不同的两个或以上的方法时, 称为方法重载. 方法重载和返回值的数据类型无关.
答:数组: 长度固定, 既可以存储基本类型的数据, 也可以存储引用类型的数据.
集合: 长度可变, 只能存储引用类型的数据.
答:它们的区别有以下4点:
答:面向对象是一种编程思想, 强调的是以对象为基础完成各种操作, 它是基于面向过程的. 说到面向对象不得不提的就是它的3大思想特点:
答:封装就是隐藏对象的属性和实现细节, 仅对外提供公共的访问方式.
答:可以, 虽然构造方法没有返回值的数据类型, 但是方法重载和返回值的数据类型无关.
答:
答:静态代码块中的内容是随着类的加载而加载, 且只加载一次.
构造代码块中定义的是所有构造方法的共性内容, 每个构造方法执行之前, 都会先执行一次构造代码块中的内容.
答:当多个类中有很多共性内容时, 每次写很麻烦. 我们可以把这些共性内容抽取出来单独的放到一个类中, 然后让那多个类和这个类产生一个关系, 这个关系就是: 继承.
答:
好处: 提高了代码的复用性, 扩展性和可维护性;让类与类之间产生了关系, 是多态的前提.
弊端:类与类之间的耦合性增强了, 和”高内聚, 低耦合”这一开发原则相违背.
答:类与类之间: 只能单继承, 不能多继承, 但是可以多层继承.
接口与接口之间: 既可以单继承, 也可以多继承.
答:this表示当前对象的引用, 谁调用, this就代表谁.
super表示当前对象的父类的内存空间标识.
答:同一个事物在不同时刻表现出来的不同形态, 状态就叫: 多态.
多态的前提条件有三个:
答:
好处: 提高了代码的可扩展性, 维护性.
弊端: 父类(父接口)引用不能直接使用子类的特有成员.
答:不能和private共存. 因为抽象方法要求子类必须重写, 而私有方法子类根本无法直接方法, 谈何重写.
不能和static共存. 因为抽象方法没有方法体, 而静态方法可以被类名点的形式调用, 假设可以共存, 则类名点的形式调用无方法体的方法没有意义, 所以他们不能共存.
不能和final共存. 抽象方法要求子类必须重写, 而final修饰的方法子类不能重写.