首页 生活指南 正文内容

赶快测测你的Java基础知识掌握的如何?(二)

阿立指南 生活指南 2022-10-08 14:10:31 112 0

一棵被拥抱的树在一毫米的尽头诞生;一个九层的平台,始于一堆土;千里之行,始于足下。快速测试一下你对Java基础知识的掌握程度如何?

1.下列说法正确的是()

A.两个修改的类可以同时存在于一个文件中

B.构造函数可以被覆盖()

C. 子类不能访问父类的非和修改属性

D.final修饰的类可以被继承

答案:C

Java 源文件最多只能有一个类。当有一个类时,源文件名必须与它一致,否则无法编译。如果源文件中没有类,则文件名和类之间没有一致性要求。至于main(),不必放在类中就可以运行程序。

重写就是子类继承父类后修改父类的方法。方法名、参数和返回值必须相同。标记为 final 的方法不能被覆盖。如果一个方法不能被继承,它就不能被覆盖。

扩展:覆盖和重载的区别

java中的方法重载

也就是说,在一个类中,您可以创建多个具有相同名称但具有不同参数和不同定义的方法。调用方法时,传递给它们的参数个数和参数类型决定了使用哪种方法,返回值类型可以相同也可以不同,这也是面向对象的多态性。

java方法覆盖

父类和子类之间的多态性重新定义了父类的功能。如果在子类中定义了一个方法,其名称和参数与其父类相同,我们称该方法为()。在 Java 中,子类可以从父类继承方法,而无需重写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想做一定的修改,这就需要方法重写。方法覆盖也称为方法覆盖。

如果子类中的方法与超类中的方法具有相同的方法名称、返回类型和参数列表,则新方法将覆盖旧方法。如果需要父类中的原始方法,可以使用super关键字,它指的是当前类的父类。

子类函数的访问修改权限不能低于父类;

重写方法只能存在于继承关系中,重写方法只能重写父类的非私有方法。

2、for(int x=0,y=0;(y!=0)&&(x

A. 无限制

abstract方法必须在abstract类中_abstract修饰符可修饰_abstract修饰符可修饰字段 方法和类

B、执行4次

C、执行3次

D. 一次都没有

答案:D

y的初始值为0。在整个for循环中abstract修饰符可修饰字段 方法和类,y的值没有变化,所以判断语句中的(y!=0)不成立,所以没有执行一次。

3.关于JAVA堆,下面的说法是错误的( )

A.所有类的实例和数组都在堆上分配内存

B、对象占用的堆内存被自动内存管理系统回收

C. 堆内存由活对象和死对象、空闲片段组成

D. 数组在栈上分配

答案:D

首先,数组是在堆中分配的,所以D的说法是不正确的。

Java堆的结构:JVM的堆是运行时数据区,所有的类实例和数组都在堆上分配内存。它是在 JVM 启动时创建的。对象占用的堆内存由自动内存管理系统回收,也称为垃圾收集器。堆内存由活对象和死对象组成。应用程序可以访问幸存的对象,并且不会被垃圾收集。死对象是应用程序无法访问且尚未被垃圾收集器收集的对象。在这些对象被垃圾收集器收集之前,它们将占用堆内存空间。

4.使用super和this关键字时,以下描述正确的是()

A、在子类构造函数中使用super()显示对超类构造函数的调用;

super() 必须写在子类构造函数的第一行,否则编译会失败

B.super() 和 this() 不必放在构造函数的第一行

C.this() 和 super() 可以同时出现在一个构造函数中

D.this() 和 super() 可以在环境中使用,包括方法和语句块

答案:A

Java 关键字 this 只能用在方法方法体中。创建对象时,Java 虚拟机 (JVM) 会为该对象分配一个指向自身的指针。这个指针的名字是this。因此,this只能用在类中的非静态方法中,并且不能出现在静态方法和静态代码块中。

超级键与此类似,就是被屏蔽的成员变量或成员方法变得可见,或者用来指代被屏蔽的成员变量和成员方法。

但是super用在子类中,目的是访问直接父类中被屏蔽的成员,注意直接父类(也就是类上面最近的超类)

5.下列说法正确的是()

A.Java程序编译后会生成代码

湾。Java程序编译后会生成字节码

C。Java程序编译后会生成DLL

D. 以上都不对

答案:B

Java字节码是通过编译Java源文件生成的中间文件

java虚拟机是一台可以运行java字节码的假想计算机。java的跨平台特性也相对于其他编程语言。

先介绍一下C语言的编译过程:C文件经过C编译器编译生成可执行文件exe文件,然后在.

接着介绍java编译过程:java文件由java编译程序在java虚拟机中执行abstract修饰符可修饰字段 方法和类,将java字节码文件转换为类文件。机器代码由 CPU 执行;Java被编译成字节码。

计算机只能运行机器代码。Java 在运行时将字节码转换为机器码。C/C++编译时直接编译成机器码

6. 以下哪个说法是正确的?

A.修饰符可以修改字段、方法和类

湾。抽象方法的主体部分必须用一对花括号 { } 括起来

欢迎 发表评论:

文章目录
    搜索