华为面试题错题集总结,你的Java基础过关了吗?

🧊🧊🧊之前刷过的题目了呢,现在特意回来总结一下,最近非常忙哦gaygaygay
也希望通过给今年准备秋招和明年春招的朋友一些小练习,看看自己Java基础如何掌握hhh下面直接进入主题📣📣📣很多题目都具有迷惑性,所以Java的底子必须非常牢固才能完美交卷hhhhhhhh
希望通过这些练习能进一步巩固自己的知识点🎉🎉🎉
同时也能帮助到正在备考的同学💪💪💪
感谢大家的关注与支持💖💖💖
期待一起进步💪💪💪
每天进步一点点,未来可期🚀🚀🚀
记得点赞收藏关注哦👀👀👀

文章目录
- Java编程语言
- 易错题
- Java程序的大类
- 编译过程中的常见问题
- Java接口
- *探讨接口与类之间的相似之处:
-
深入分析接口与类之间的区别:
-
详细阐述接口的特性及其应用*
-
call by value 和 call by reference
-
死亡类方法🥲
-
判断题
-
java语言

让我看看这道题多少人出错😏😏😏
Pascal 被视为一种广泛应用于计算机领域的高级编程语言。它是由瑞士学者 Niklaus Wirth 于 1969 年左右构思并正式推出的一种通用程序设计语言。以其命名为法国数学家名字开发的 Pascal 语言现已发展成为基于 DOS 操作系统的最常用编程工具之一。该软件以其严格结构化的程序设计模式为核心优势,并凭借丰富多样的数据类型、高效的执行速度以及强大的错误检查功能而闻名于世。
粗心题




java程序总类
JAVA程序分为三种Application,Applet,Serverlets。
依次介绍这三种类型:
Application即是"Java应用程序"(Application),是一个能够独立运行的Java程序。它由Java解释器进行处理,并作为最常见的类型存在。
Applet被称为Java小程序,在网页环境中无法独立运行(通常需嵌入于Web页面中)。其执行受基于Java的标准浏览器调控。
可被视为Java技术针对CGI编程的具体实现方案。具体而言,在Web服务器上运行的Serverlets充当了来自Web浏览器或其他HTTP客户端请求与服务器上数据库及其他应用程序之间的中介程序。
许多多选题都让我只选择了2个正确答案(而我已经选择的那两个确实也在3个正确答案之中),看来还需要更加努力才行! 🥲😂😂

编译程序问题


Java 接口
Interface,在Java编程语言中被定义为一个抽象类型,并由一系列抽象方法构成的一个集合。通常通过关键字interface来进行声明。一个类可以继承并使用该接口,并从而能够访问并调用该接口的所有抽象方法。
接口并不是类 ,编写接口的方式与类具有相似性但二者属于不同的概念领域。一个类描述对象的属性与方法 而一个接口则包含了该类所应实现的方法
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
虽然无法直接创建实例对象(instance),但可以通过显式地继承该接口来间接引用它(access))。如果一个类要实现某个接口,则必须为该接口中的每一个方法进行重定义(override)。在Java编程语言中(language),可以通过显式地继承该接口来间接引用它(access)。此外,在Java编程语言中(language),还可以通过显式地继承该接口来间接引用它(access)。另外,在Java编程语言中(language),还可以通过显式地继承该接口来间接引用它(access)。另外,在Java编程语言中(language),还可以通过显式地继承该接口来间接引用它(access)。另外,在Java编程语言中(language),还可以通过显式地继承该接口来间接引用它(access)
接口与类相似点:
一个接口可以有多个方法。
接口文件保存在 .java 结尾的文件中,文件名使用接口名。
接口的字节码文件保存在 .class 结尾的文件中。
接口相应的字节码文件必须在与包名称相匹配的目录结构中。
接口与类的区别:
无法通过实例化接口来创建对象。
接口中不具有构造函数。
都是抽象的方法;而从Java 8开始可使用default关键字修饰的非抽象方法。
不可以包含成员变量项(仅限于static和final类型)。
interfaces不是从类继承而是从类实现。
接口特性
在 interfaces 中每个 method 都带有暗含的 abstract 标识符;当定义一个 interface 时 在其声明中会明确指定该 method 为 public\ abstract 并且该修饰符必须使用 public\ abstract 否则编译器会报错。
当定义一个 interface 时 在其中声明变量也会被明确指派为 public\ static\ final 类型 这些变量必须是 public 类型 否则编译器会报错。
只有通过其具体 class 才能实现这些由 interface 定义的方法。

call by value 和 call by reference

Java中对参数的处理存在两种方式:一种是按值传递(即输入的具体数值将被接收),另一种则是通过引用来进行处理(即通过变量存储地址来交换数据)。包括一种是按值传递(即输入的具体数值将被接收),这种情况下,在方法内部操作的是一个独立副本;另外一种则是通过引用来进行处理(即通过变量存储地址来交换数据)。即便在方法内部对这些副本进行操作也不会影响原始输入;其原始数值始终保持不变。另外一种则是通过引用来进行处理(即通过变量存储地址来交换数据)。在这种情况下会创建一个新引用标识符y;此时变量x与y都指向同一个对象实例。
死亡类方法🥲
小乱,说实话🪐🪐🪐

这里的话,我做了一个Demo来演示
“大家熟悉的”Employee.java
package com.java.code7;
/** * @program: thread
* @author: xmonster_大魔王
* @create: 2022-10-22 11:42
**/
public class Employee {
String name;
int age;
String designation;
double salary;
/* 构造方法 */
public Employee(String name, int age, String designation, double salary) {
this.name = name;
this.age = age;
this.designation = designation;
this.salary = salary;
}
/* 打印信息 */
public void printEmployee(){
System.out.println("名字:"+ name );
System.out.println("年龄:" + age );
System.out.println("职位:" + designation );
System.out.println("薪水:" + salary);
}
public void t1(){
this.printEmployee(); //使用this调用本类类方法
System.out.println("===");
printEmployee(); //直接调用本类类方法
System.out.println("===");
Outer outer = new Outer(); //引入其他类
outer.test2(); //调用其他类的类方法
System.out.println("===");
Employee employee = new Employee("x魔王",20,"我是大魔王",10000); //在类方法中实例化
employee.printEmployee(); //调用实例化的类方法
}
public static void main(String[] args) {
Employee employee = new Employee("测试员工", 18, "我是测试员工", 5000);
employee.t1();
}
}

对于A选项而言:它声称可以通过this关键字调用本类的方法。在我的测试中可以实现,并被认为是正确的;然而答案似乎认为它是错误的。对此问题我查阅了一些资料,并普遍认为这是一个有争议性的问题。我这里测试使用的是JDK 14版本。

能被java.exe成功运行的Java.class文件必须要有main()方法

判断题

总结:还是有很大的收获的,继续努力吧!🐬🐬🐬
