1.问:如果声明了main方法会发生什么?
答:可以正常编译,但是运行时提示“main方法无效”。
2.问题:Java中按引用传递和按值传递有什么区别?
答:按引用传递意味着传递地址而不是值本身,而按值传递意味着传递值的副本。
3. 问:如果你想重写一个对象的方法,你还应该考虑什么?
回答:。
4、问:Java的“一次编写,随处运行”是如何实现的?
答:Java程序会被编译成由字节码组成的类文件。 这些字节码可以在任何平台上运行,因此Java是平台无关的。
5.问题:解释一下void main(args[])声明中各个关键字的作用
答::main方法是Java程序运行时第一个调用的方法,因此它必须对Java环境可见。 因此可见性设置为公共。
:Java平台在调用该方法时不会创建该类的实例,因此该方法必须声明为。
void:main方法没有返回值。
是从命令行传入的参数类型,args指的是从命令行传入的字符串数组。
6.问题:==和的区别
答案:== 比较两个对象在内存中是否是同一个对象,即在内存中的存储位置是否一致。 两个对象存储相同的值,但可能存储在内存中的不同位置。
== 比较引用,而方法比较内容。 (obj) 该方法由对象提供,可以被子类重写。 默认实现仅在对象与自身比较时返回true,相当于==。 、 、 Date 和 File 所有覆盖方法。 对于两个对象来说,相等的值意味着它们包含相同的字符序列。 对于基本类型的包装类来说,值相等意味着对应的基本类型的值是相同的。
t{
([]参数){
=“abc”;
=s1;
=“abc”;
=(“abc”);
=(“abc”);
.out.(" == :"+(s1==s5));
.out.(" == :"+(s1==s2));
.out.("使用:"+s1.(s2));
.out.(" == :"+s3==s4);
.out.("使用:"+s3.(s4));
结果:
==:正确
==:正确
:真的
错误的
:真的
7、问:去掉main方法的修饰符会出现什么情况?
答:程序编译正常。 运行时会抛出异常。
8. 问:为什么 type4 驱动程序被称为瘦驱动程序?
答:提供了类型 4 JDBC 驱动程序,称为瘦驱动程序。 该驱动程序包含完全用 Java 实现的 TCP/IP Net8 实现,因此它是独立于平台的,并且可以在运行时由浏览器下载,而不依赖于任何客户端实现。 客户端连接字符串使用 TCP/IP 地址端口,而不是数据库名称。
9.问题:介绍方法
答案:final:常量声明。 : 处理异常。 :帮助垃圾收集。
接口中声明的变量默认是final的。 Final类不能被继承,即它们没有子类。 这样做是出于基本类型的安全原因,例如 和 。 这也使得编译器可以进行一些优化,更容易保证线程安全。 最终方法不能被覆盖。 最终变量的值不能更改。 () 方法在对象被销毁和回收之前调用。 ,通常用于异常处理,无论是否抛出异常都会执行。 例如,关闭连接通常是在块中完成的。
10.问:什么是Java API?
答:Java API是大量软件组件的集合,提供了大量有用的功能,例如GUI组件。
11-20日
11.问:什么是类?
答:提供对传统西历的支持。
12.问:什么是类?
答:用于存储指定语言环境的资源。 应用程序可以根据运行时区域设置加载这些资源,以提供不同语言的显示。
13.问:Java中为什么没有全局变量?
答:全局变量是全局可见的。 Java不支持全局可见变量,因为:全局变量破坏了引用透明的原则。 全局变量会导致命名空间冲突。
14.问:类型与类型之间如何转换?
答:类方法可以转换成。 这是代码示例:
=“1000”;
intid=.().();
15.问:什么是类?
答:提供公历日期支持。
16.问:while循环和do循环有什么区别?
答案:while 结构在循环开始时决定是否继续下一次迭代。 do/while 结构在循环结束时决定是否继续下一次迭代。 do 结构将至少执行一次循环体。
17.问:什么是类?
答:类用于根据语言环境动态调整程序的输出。
18.问:面向对象编程的原理是什么?
答:主要有三点,多态、继承和封装。
19.问题:介绍继承的原理
答:继承允许一个对象获得另一个对象的属性。 使用继承可以复用已经经过充分测试的功能,并且可以修改一次,所有继承的地方都会同时生效。
20.问:什么是隐式类型转换?
答:隐式类型转换只是将一种类型分配给另一种类型,而不显式告诉编译器转换已经发生。 并非所有类型都支持隐式类型转换。
代码示例:
因蒂=1000;
长j=i;//
21-30日
21.问:Java中是关键字吗?
答:不。
22.问:方法是什么?
答:方法是用非Java代码实现的方法。
23.问:.out.()中,“out”和“out”分别是什么?
答:是系统提供的预定义的final类。 out 是一个对象,out 对象中有一个重载方法。
24.问:什么是封装、继承、多态?
答:简单来说,多态是指一个名称有多种实现。 多态性允许实体以通用的方式实现不同的操作。 具体操作以实际执行为准。
多态性在Java中有三种表现方式:方法重载、通过继承重写方法、通过Java接口重写方法。
25.问:什么是显式类型转换?
答:显式类型转换显式告诉编译器转换对象。
代码示例:
长=700.20;
intj=(int)i;//
26.问:什么是Java虚拟机?
答:Java虚拟机是一个可以移植到不同硬件平台的软件系统。
27.问:什么是类型向下转型?
答:下转换是指从通用类型转换为特定类型,沿着继承结构向下转换。
28.问:Java的访问修饰符是什么?
答:访问修饰符是指示类成员访问类型的关键字。 使用这些关键字来限制对程序方法或变量的访问。 他们包括:
:所有类都可以访问:同一个包内所有子类都可以访问:只有所属类可以访问默认:同一个包下的所属类和子类都可以访问
29.问:所有类的父类是什么?
回答:。
30.问:Java有哪些基本类型?
答案:byte、char、short、int、long、float、、。
31-40
31.问:静态类型有什么特点?
答:静态变量绑定到类上,而不是绑定到类的实例对象上。 每个实例对象共享相同的静态变量。 换句话说,一个类的静态变量只有一份副本,无论它有多少个对象。 类变量或静态变量通过this关键字声明。 类变量通常用作常量。 静态变量通常通过类名来访问。 该变量在程序运行时创建,直到程序结束才会被销毁。 类变量的作用域与实例变量的作用域相同。 它的初始值与成员变量的初始值相同。 当变量未初始化时,它将根据其数据类型有一个默认值。 同样,静态方法是属于类的方法,而不是属于类对象的方法。 它的调用不会影响类对象,也不需要创建任何类实例。 静态方法本身是最终的,因为重写只会发生在类实例上。 静态方法绑定到类,而不是对象。 父类的静态方法会被子类的静态方法阻塞,只要原方法没有声明为final。 非静态方法不能覆盖静态方法,即不能将静态方法更改为子类中的实例方法。
非静态变量在每个对象实例上都有一个单独的值。
32.问:&运算符和&&运算符有什么区别?
答案:当计算 & 表达式时,两个操作数都会被计算,&& 更像是一个运算符快捷方式。 当计算 && 表达式时,首先计算第一个操作数,如果返回 true,则计算第二个操作数。 如果第一个操作数的计算结果为 false,则不会计算第二个操作数。
33.问:Java如何处理整数的上溢和下溢?
答:Java根据类型的大小将计算结果中对应的低位字节存储为对应的值。
34.问:如果void写成void会怎样?
答:程序编译正常,运行正常。
问题,声明变量和定义变量有什么区别?
答:声明变量时,我们只提供变量的类型和名称,并不初始化它。 定义包括两个阶段:声明和初始化; 它只是一个变量声明,s = new (“bob”); 或 s = “鲍勃”; 是一个变量定义。
35.问:Java支持哪些参数传递类型?
答:Java参数都是按值传递的。 对于对象来说,传递的值是对该对象的引用,这意味着原始引用和参数引用的副本指向同一个对象。
36.问:对象封装的原理是什么?
答:封装是将数据和对数据进行操作的代码绑定到一个单独的单元中。 这确保了数据安全并防止外部代码的错误使用。 对象允许封装程序和数据以减少潜在的干扰。 对封装的另一种理解是作为数据和代码的保护层,防止保护层之外的代码随机访问。
37.问:如何理解变量?
答:变量是可以被程序访问的命名内存区域。 变量用于存储数据。 当程序执行时,存储的数据也可能发生变化。
38.问:什么是数值改进?
答:数值提升是指将数据从较小的数据类型转换为较大的数据类型,以进行整数或浮点运算。 在数值提升过程中,byte、char、short值会被转换为int类型。 当需要时,int 类型也可以提升为 long。 long 和 float 可以转换为类型。
39.问:Java中什么是类型转换?
答:从一种数据类型转换为另一种数据类型称为类型转换。 Java有两种类型转换方法,一种是显式类型转换,另一种是隐式类型转换。
40、问题:main方法的参数中字符串数组的第一个参数是什么?
答案:数组为空,没有任何元素。 与 C 或 C++ 不同,第一个元素默认为程序名称。 如果命令行没有提供参数,则main方法中的数组为空,但不为null。
41-50
41.问:如何判断数组是否为null或为空?
答:输出数组的值。 如果为0,则表示数组为空。 如果为null,则会抛出空指针异常。
42、问:一个程序中可以允许多个类同时有main方法吗?
答:是的。 当程序运行时,我们指定要运行的类名。 JVM 只会查找您指定的类中的 main 方法。 因此,当多个类有main方法时,不存在命名冲突问题。
43.问:静态变量什么时候加载? 编译时还是运行时? 加载静态代码块的时机怎么样?
答:静态变量是在类加载器将类加载到 JVM 时创建的,无论对象是否创建。 静态变量加载时会分配内存空间。 静态代码块中的代码只会在类第一次初始化时执行一次。 一个类可以有多个静态代码块。 它不是类的成员,没有返回值,不能直接调用。 静态代码块不能包含this或super,它们通常用于初始化静态变量。
44.问:一个类可以有多个main方法吗?
答案:可以,但是只能有一个具有以下签名的 main 方法:
无效主([]参数){}
否则程序将无法编译。 编译器会警告您 main 方法已经存在。
45.问:简单介绍一下JVM是如何工作的?
答:JVM是一台抽象计算机。 就像真正的计算机一样,它们首先将.java文件编译为.class文件(.class文件是字节码文件),然后使用其解释器加载字节。 代码。
46.问题:如果两个变量的值就地交换怎么办?
答:首先将两个值相加并赋值给第一个变量,然后从结果中减去第二个变量并将其赋值给第二个变量。 然后从第一个变量中减去第二个变量并将其分配给第一个变量。 代码如下所示:
inta=5,b=10;a=a+b;b=ab;a=ab;
交换也可以使用 XOR 运算来完成。 第一种方法也可能会导致溢出。 异或方法如下:int a=5,b=10;
a=a+b;b=ab;a=ab;
inta=5;intb=10;
a=a^b;
b=a^b;
a=a^b;
47.问:什么是数据封装?
答:数据封装的一种方法是在类中创建set和get方法来访问对象的数据变量。 一般来说,变量是的,get和set方法是的。 封装还可以用来在存储数据时进行数据验证,或者对数据进行计算,或者进行内省(比如使用时)。 将数据和功能封装到单独的结构中称为数据封装。 封装实际上就是将数据和关联的操作方法封装到一个独立的单元中,以便可以使用这些关联的方法来访问数据。 封装提供了数据的安全性,实际上是一种隐藏数据的方式。
48.问:什么是反射API? 它是如何实现的?
答:反射是指在运行时查看类的状态和特性并动态管理的功能。 这些功能是通过一些内置类的反射API提供的,例如Class、Field等。 使用示例:使用Java反射API方法获取类名。
49.问:JVM本身会维护缓存吗? 它在堆中分配对象吗? 是操作系统的堆还是JVM本身管理的堆? 为什么?
答:是的,JVM本身管理缓存,它在堆中创建对象,然后在堆栈上引用这些对象。
50.问:什么是虚拟内存?
答:虚拟内存也称为扩展内存。 事实上,不存在真正的物理内存。
51-56
51.问:方法be和be可以同时存在吗?
答:是的。 如果这样做,JVM 将获取与该对象关联的 java.lang.Class 实例的锁。 这样做相当于:
(XYZ.类){
52.问: 和 之间有什么区别?
答:是一个用于分割字符串的工具类。
=(“”);
而(st。()){
.out.(st.());
输出:
你好
世界
53.问:变量有什么特点?
答案:变量没有序列化。 例如,当实现接口的类被序列化时,类型变量将不会写入流中。 同时反序列化回去时,对应变量的值为null。
54. 问:哪些容器使用布局作为默认布局?
答案: ,框架, 。
55.问:如何理解什么是同步?
答:同步用于控制多个线程之间对共享资源的访问,保证同一时刻只有一个线程可以访问该资源。 在具有异步保护的多线程程序中,当一个线程正在修改共享变量时,另一个线程也可能正在使用或更新其值。 同步避免了脏数据的产生。
同步方法:
(){
// - 代码。
同步方法内的代码块:
(){
(这){
// 代码在这里。
56.问:对于一个整型变量a,写两段代码。 第一个将 a 的 bit3 设置为 1 并保持其他位不变。 如何实施?
/**
*@
* @since 1.0
*/
{
([]参数){
//给定一个整型变量a,写两段代码。 第一个将 a 的 bit3 设置为 1 并保持其他位不变。 如何实现这一目标?
积分=8;
//打印二进制
.out.(.(a));//输出1000
.out.(.(a|4));//输出1100
用科技改变生活,实现高薪就业梦想!
郎溪高薪就业班火热招募中!
#立即留言报名#
科技改变生活