Java基础选择题
文章平均质量分 83
适合面试食用,含选项解释
erqwert
这个作者很懒,什么都没留下…
展开
-
java 基础选择题--3
这是不可能的,因为Testing是私有的,所以不能被其他类(即使是同一个文件中的类)继承。因此,x的值将是它的默认值(对于int类型是0),而y的值也将是它的默认值(对于boolean类型是false)。count2()方法中,你没有定义任何局部变量count,所以当你打印count时,你实际上是在引用实例变量count,它的值是9(在对象创建时设置的)。- 这是有效的,因为在接口中,方法默认就是public的,所以显式地声明为public是可以的,但通常我们省略public关键字。原创 2024-06-01 16:18:54 · 491 阅读 · 0 评论 -
java基础选择题--13
这个语句本身在Java中是不正确的,因为右侧是一个double类型的字面量(默认浮点字面量是double类型),而左侧是float类型的变量。B: True - 虽然True是JavaScript中的一个布尔值常量,但在Java中它并不是一个关键字,因此可以作为变量名(尽管这样命名可能会导致混淆,因为它不是Java的布尔值)。此外,变量名不能与Java的关键字冲突。92. (分值:1.0 分)如果容器组件 p 的布局是 BorderLayout,则在 p 的下边中添加一个按 钮 b,应该使用的语句是( )原创 2024-06-04 10:29:00 · 684 阅读 · 0 评论 -
java基础选择题--11
在面向对象编程中,特别是使用C++、Java等语言时,派生类(也称为子类或子类型)是从基类(也称为父类或超类)派生出来的,但它本身也可以被用作基类来派生新的派生类(有时称为子类的子类或孙子类)。因此,a + 3 指向 a 的第四个元素,而 *(a + 3) 就是 a[3] 的值。”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。29. 定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( )。在这里,M没有类型,所以这是无效的。原创 2024-06-03 21:21:55 · 705 阅读 · 0 评论 -
java基础选择题--9
但在这个上下文中,我们考虑的是机制中的“角色”,而不是组成部分或组件的接口。由于 a 初始值为10,所以表达式中 a 的值是10,但之后 a 的值会增加到11(因为后缀递增是在整个表达式计算完成后才执行的)。由于 d 初始值为6,所以表达式中 d 的值是6,但之后 d 的值会减少到5(因为后缀递减也是在整个表达式计算完成后才执行的)。先计算 4*...,由于后缀递增后 a 的值是10(但在乘法中我们用的是递增前的值,即10),所以这部分是 4*10,结果是40。,n,其输出序列为P1,P2,P3,…原创 2024-06-03 16:52:58 · 656 阅读 · 0 评论 -
java基础选择题--6
J2SDK(Java 2 Software Development Kit)是 Java 开发工具包的旧称(现在通常称为 JDK),它包含了编译、运行 Java 程序的工具(如 javac.exe 和 java.exe)以及 Java API(Application Programming Interface)。C.class OtherClass{ } // 在Java中,一个.java文件可以包含多个类定义,但只能有一个公共类(如果有的话),并且这个公共类的名称必须与文件名相同。原创 2024-06-02 20:23:02 · 394 阅读 · 0 评论 -
Java基础选择题——2
然而,在这个特定的情况下,我们只是在尝试打印出该变量的字符串表示(即调用toString()方法),但由于System.out.println()的特殊处理,它不会调用null的toString()方法,而是直接打印出"null"字符串。但是,它并没有改变 ex.str 的引用,因为 Java 是按值传递的(对于对象,传递的是引用的值,而不是引用本身)。在引用类型参数的传值中,Java的引用类型数据包括对象、数组和接口,当参数是引用类型时,“传值”传递的是变量的引用而不是变量所引用的实体。原创 2024-06-01 12:20:27 · 644 阅读 · 0 评论 -
Java基础选择题——5(量有点大,187道)
在Java 8之前,如果一个匿名内部类需要访问外部类的局部变量(不是静态的),那么这个变量必须是final的(或者实际上是final的,即被赋值后就不会再改变)。实际上,由于Integer是Object的子类(所有的Java类都是Object的子类),所以从ArrayList<Integer>到List<Object>的赋值在类型上是兼容的,这被称为泛型的逆变(contravariance),但是Java的泛型并不支持逆变。ResultSet中的next()方法会使结果集中的下一行成为当前行:这是正确的。原创 2024-06-02 16:13:00 · 868 阅读 · 0 评论 -
java基础选择题--18(转载)
2.其次,需要理解子类覆盖父类方法的问题,也就是方法重写实现多态问题。这里的str2必须在运行时才知道str2是什么,所以它是指向的是堆里定义的字符串“hello”,所以这两个引用是不一样的。这里的str1指的是方法区的字符串常量池中的“hello”,编译时期就知道的;其中:类中静态块按照声明顺序执行,并且(1)和(2)不需要调用new类实例的时候就执行了(意思就是在类加载到方法区的时候执行的)题中父类初始化调用的方法为子类实现的方法,子类实现的方法中调用的baseName为子类中的私有属性。原创 2024-06-05 11:28:28 · 543 阅读 · 1 评论 -
java 基础选择题--4
抽象类的主要目的是作为其他类的基类,并且它可能包含一些具体的方法(即有方法体的方法)和/或抽象方法(即没有方法体的方法)。抽象方法可以没有方法体,也可以有方法体抽象类的主要目的是作为其他类的基类,并且它可能包含一些具体的方法(即有方法体的方法)和/或抽象方法(即没有方法体的方法)。//接口主要用来定义一组抽象方法(没有方法体的方法)和常量(在Java中,接口中的字段默认是public static final的,即常量)。26.在 JAVA 中,一个类可同时定义许多同名的方法,这些方法的形式参数个数,原创 2024-06-01 17:50:25 · 404 阅读 · 0 评论 -
java基础选择题--14 (程序输出题未解决)
就可以改变接口中的变量 a 的值了。一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法(就是没有参数的构造方法),但是如果你自己写了构造方法,那么编译器就不会给你添加了,所以有时候当你new一个子类对象的时候,肯定调用了子类的构造方法,但是如果在子类构造方法中我们并没有显示的调用基类的构造方法,如:super();(5)实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。原创 2024-06-04 10:59:29 · 962 阅读 · 0 评论 -
java基础选择题--17(包含全面)
例如,你可以直接将一个int类型的值赋给long类型的变量,而不需要任何转换,因为long可以容纳int的所有值。wait()是Java中Object类的一个方法,它用于使当前线程进入等待状态,直到其他线程调用该对象的notify()或notifyAll()方法。但是,wait() 通常与 synchronized 关键字一起使用,用于线程间的通信,而不是简单地等待另一个线程结束。A. sleep(): 使当前线程(即调用此方法的线程)暂停执行一段时间,让其他线程有机会执行,但它并不涉及等待其他线程结束。原创 2024-06-05 11:25:37 · 570 阅读 · 0 评论 -
java基础选择题--15
一个类实现 Runnable 接口并覆盖 run() 方法后,可以创建一个该类的实例,并将其作为参数传递给 Thread 类的构造函数来创建一个新的线程。但是,在你的代码中,你试图让X类同时继承Thread并实现Runnable接口,这是不允许的,因为Java不支持多重继承(除了接口的多重实现)。但它本身并不是一个类。尽管参数类型不同,但在Java中,基本数据类型int和long之间不存在自动装箱/拆箱,所以它们被认为是不同的方法,因此这个方法是一个合理的重载方法。这实际上是选项B的重复,但仍然是正确的。原创 2024-06-04 11:24:29 · 596 阅读 · 0 评论 -
java基础选择题--10
这里,i 和 L 会首先被提升为 double 类型(因为 double 可以容纳 int 和 long 的所有值,并且有足够的精度来表示它们的和),然后与 f(也是 float 类型,但会被提升为 double)相加。在大多数现代编译器中,float 和 long 之间的算术运算会导致结果提升为 double 类型(因为 double 有足够的精度来表示这两种类型的值)。虽然可以显式地将 double 转换为 long(这可能会导致精度损失),但在这个语句中没有这样的转换,所以这是不正确的。原创 2024-06-03 20:43:25 · 322 阅读 · 0 评论 -
Java基础选择题——1
这个声明定义了一个公共的(public)、静态的(static)、最终的(final)且本地方法(native)w,该方法返回一个整型(int)。虽然final通常与不可覆盖的方法(非本地方法)一起使用,但在声明本地方法时,它是允许的,尽管这样做没有实际意义,因为本地方法总是由本地代码(如C/C++代码)实现,不会被Java代码覆盖。实际上,当创建一个子类对象时,首先会调用父类的构造函数(如果子类构造函数没有显式地调用父类的构造函数,那么会默认调用父类的无参构造函数),然后再执行子类构造函数的代码。原创 2024-05-31 11:04:13 · 523 阅读 · 0 评论 -
java基础选择题--8
然而,这种转换是单向的,即你不能将一个Parent类型的对象赋给一个Child类型的变量,除非你能确定这个Parent对象实际上是一个Child对象(这通常需要使用显式的类型转换或类型检查)。Java Applet是一个可以在Web浏览器中运行的Java程序,它没有main()方法,而是通过HTML文件来嵌入和加载,通常使用appletviewer或Web浏览器来运行。Java Application是一个完整的程序,可以独立运行,它包含main()方法作为程序的入口点,并通过java命令来执行。原创 2024-06-03 16:01:27 · 721 阅读 · 0 评论 -
java基础选择题--16
要构造一个ArrayList类的实例,并且该类实现了List接口,我们应该使用ArrayList的构造函数来创建其实例,并且我们可以将这个实例引用赋值给一个List类型的变量,因为ArrayList是List接口的一个实现。Java有一个布尔类型(boolean,注意是小写),用于表示真(true)或假(false),但Boolean是布尔类型的包装类,是一个对象类型,不是原始数据类型。27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。原创 2024-06-04 13:19:12 · 963 阅读 · 0 评论 -
java基础选择题--7
当一个 int 类型的整数和一个 double 类型的浮点数进行加法运算时,由于 double 类型具有更高的精度和更大的表示范围,所以 int 类型的值会被自动转换为 double 类型,然后两个 double 类型的值进行加法运算。但是,对于方法而言,如果在子类中没有重写父类的方法,那么调用该方法时将会执行父类中的版本。但是,GetA()方法在类B中并没有被重写(override),所以当我们通过类B的对象b调用GetA()方法时,实际执行的是类A中的GetA()方法。D、'我' - 这是不合法的。原创 2024-06-03 14:51:15 · 936 阅读 · 0 评论 -
java基础选择题--12
是合法的,但在这里我们假设是Java或C/C++)。它定义了一个名为x的方法,该方法没有参数,返回一个int类型的值。为了使一个无参数、无返回值的方法能够通过类名来直接调用(而不需要创建类的实例),你需要将该方法声明为static。5. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(2. 设 x、 y为已定义的类名,下列声明x类的对象x1的语句中正确的是(A、将1,2,3,4,5输出到屏幕 B、将0,1,2,3,4输出到屏幕。原创 2024-06-03 21:48:32 · 296 阅读 · 0 评论