JAVA 练习

2023-11-18

错题回顾:

1.运行如下代码:

class COne {

public void f() {

System.out.println("COne.f");

        }

    }

class CTwo extends COne{

public void f() {

System.out.println("CTwo.f");

       }  

    }

class CThree {

public void g(COne one) {

System.out.println("g(Cone)");

one.f();

     }

public void g(CTwo two) {

System.out.println("g(Ctwo)");

two.f();

        }

    }

public class Main {

public static void main(String[] args) {

COne one = new CTwo();

CThree three = new CThree();

three.g(one);

        }

    }

 我选的是D,正确答案为A,首先分析一下题,定义了一个COne类,定义了一个CTwo类继承COne类并且重写了COne类中的f方法,定义了一个CThree类,里面有重载的方法g,带不同类型的参数,测试类运用的多态,因为多态遵循编译看左边,运行看右边,编译与父类一致,运行和子类一致,所以在测试类中对象调用g带参数(one)的方法,会先进入方法g(COne one)输出,并且优先输出子类重写的方法,如果子类没有重写方法再找父类的方法,所以选A

2.下面各选项可以在A的子类中使用的是

class A {
protected int method (int a,  int b) {
return 0;
}
}
A.   public int method (int a,  int b) { return 0; } 
B.   private int method(int a,  int b) { return 0; } 
C.   private int method(int a,  long b) { return 0; } 
D.   public short method(int a,  int b) { return 0; } 

源于对知识点掌握的不够,我选的是错误的B。解析:子类重写方法的访问权限必须大于等于父类,所以排除BC,又因为子类的返回值类型不能大于父类的返回值类型,所以排除D,选A。

3.下列代码执行的结果是: 

class Base{
void test() { 
System.out.println("Base.test()");
}
}
public class Child extends Base {
void test() {
System.out.println("Child.test()");
}
public  static void main(String[] a) {
Child anObj = new Child();
Base baseObj = anObj;
baseObj.test();
} 
}

 这里也是运用了多态,只不过这里将多态实例化部分分开写的,迷惑了,所以我选错了,正确答案为D,也是编译看左边,运行看右边,输出子类重写的方法。

4.请看如下代码  

class Person { 
           private int a; 
           public int change(int m){return m;} 
      } 
      public class Teacher extends Person{ 
           public int b; 
           public static void main(String arg[]){ 
             Person p = new Person(); 
             Teacher t = new Teacher(); 
             int i; 
             // point x 
            } 
          } 

 我选的是A,是错误的,因为i在静态方法内只能调用静态的变量。静态方法可以调用静态方法和静态变量,那静态方法可以调用非静态方法和非静态变量吗?我们浅测一下,发现静态方法可以通过实例化对象的方法调用到非静态方法和非静态变量。

 

 5.Person类和Test类的代码如下所示,则代码中的错误语句是

  public class Person {
	public String name;
	public Person(String name) {
		this.name = name;
	}
}
public class Test {
    public static void main(String[] args) {
        final Person person = new Person("欧欧");
        person.name = "美美";
        person = new Person("亚亚");
    }
}

答案选C,因为Person实例化对象后被final修饰,已知被final关键字修饰的变量或者方法其他的都不能被修改,有人会说,B里面person不也是被final修饰了吗,为什么不会报错呢?因为这里是person.name,是对person下的变量进行重新赋值,所以可以修改,但是如果把name也final修饰,那么person.name重新赋值就会报错;C选项person已经被final修饰了,所以不能继续给它重新赋值了,所以这题选C.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA 练习 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 编写程序: 从键盘分别输入年、月、日,判断这一天是当年的第几天

    编写程序 从键盘分别输入年 月 日 判断这一天是当年的第几天 注 判断一年是否是闰年的标准 1 可以被4整除 但不可被100整除或 2 可以被400整除 import java util Scanner public class Test
  • 5G MEC在5G网络中的部署-与UPF的关系

    MEC主机部署在边缘或者核心数据网络中 而UPF负责牵引用户平面流量到目标MEC应用所在的数据网络 网络运营商除了选择数据网络和UPF之外 还需要根据技术和商业因素 例如 站点设施 应用需求 用户负载实测值或估算值 来选择物理计算资源的部署
  • 95-38-050-Buffer-UnpooledHeapByteBuf

    文章目录 1 总述 1 1 局部图 1 2 概述 2 私有字段 3 构造方法 4 设置容量方法 capacity 1 总述 1 1 局部图 1 2 概述 该Bytebuf的底层为不使用对象池技术的JAVA堆字
  • Linux系统查看磁盘可用空间的5个命令

    大家好 我是良许 工作中 经常会遇到磁盘爆满的情况 尤其是一台服务器运行了 N 年之后 里面会充满各种各样垃圾文件 比如 编译产生的中间文件 打包的镜像文件 日志文件 等等 别问我怎么知道 我上家公司服务器就是这样的 我需要每天去删除一些没
  • C++ Primer 学习笔记 第二章 变量和基本类型

    C 是一种静态数据类型语言 它的类型检查发生在编译时 基本内置类型 C 定义了一套包括算数类型和空类型在内的基本数据类型 算数类型 整型 字符 整型数 布尔值 和浮点数 空类型 不对应具体的值 仅用于特殊场合 常见的有函数不返回任何值时用空
  • strlen sizeof详尽分析

    1 char a qwert cout lt
  • 【操作系统】王道考研 p48 文件的逻辑结构

    文件的逻辑结构 知识总览 所谓 逻辑结构 就是在用户看来文件内部的数据如何组织 所谓 物理结构 就是操作系统看来文件的数据如何在外存存放 无结构文件 按文件是否有结构分类 可以分为无结构文件 有结构文件 无结构文件 文件内部的数据就是一系列
  • Cookie 和 Session 详解 及实现用户登陆功能

    Cookie是啥 浏览器提供的在客户端存储数据的一种机制 由于浏览器禁止了网页中的代码直接访问磁盘的文件因此要想再网页中实现数据的持久化存储 就可以使用Cookie这样的机制 Cookie 里面存什么 键值对结构 键和值都是程序猿自定义的
  • 【力扣每日一题】2023.9.21 收集树中金币

    目录 题目 示例 分析 代码 题目 示例 分析 题目给我们一棵树 不过这棵树不是普通的树 而是无向无根树 给我们一个二维数组表示节点之间的连接关系 以及一个一维数组表示每个节点是否有金币 我们可以从任何一个节点出发 并且可以收集距离两格的节
  • [Matlab] 读取excel中较大的数据时不以有效数字形式显示

    问题 excel中存储的数据较大 如501249 91 matlab读取后会以有效数字形式显示 如何使其安装501249 91显示 解决方法 将excel表格中的数据的显示格式设置为文本 将数据以字符串的格式读取到元胞数组中 data xl
  • java visualvm linux_在Linux上使用 Java VisualVM

    前面讲过jvisualvm 远程监控Linux下的java程序 http blog csdn net keketrtr article details 52292089 http blog csdn net keketrtr article
  • java jdbc 多数据源_多数据源使用jdbc连接数据库

    问题提出 问题 多数据源使用jdbc连接数据库 每次连接都是new新连接 for循环多次时new会导致连接创建失败 分析问题 使用数据库连接池技术解决重复创建的问题 具体实现 jdbc连接数据库 package com keep accou
  • 解决node.js+MYSQL读/写date类型数据有异样,且相差8个小时的问题

    既将读 写格式为 2021 05 04T16 00 00 000Z 的数据 转换为本地日期时间 2021 05 05 格式 一 读取异样处理 例如 在数据库中date类型数据原本为 2021 05 05 但是直接打印出来确是下面这样 dat
  • chevereto 页面设置

    我贴一些图 大家可以根据我的设置来搞 或者你可以自定义喽 如果我设置不对 大家也指正一下 可设置的项目非常多 你可以按我的设置来初始化 如果你有什么不满意 自己微调即可 网站 这里值得一说的 搜索 探索 随机 喜欢 粉丝禁用后 这样访客就看
  • 基于贝叶斯算法(bayes)优化卷积神经网络-双向长短期记忆网络(CNN-BILSTM)多变量时间序列预测,bayes-CNN-BILSTM多维时间序列预测。优化参数为:学习率,隐含层节点,正则化

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 导入数据 result1 xlsread 数据集 xlsx result result1 1 300 数据分析
  • 书摘

    因为近几个项目都是基于Linux 平台 于是开始持续关注linux shell 和linux系统管理相关的知识 平时除了阅读在线的博客来汲取这方面的知识 也努力看一些书籍来完善知识体系 而这本
  • 【Pytorch深度学习实战】(11)变分自动编码器(VAE)

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • Windows server 2019搭建证书服务器

    1 安装服务 2 选择角色服务 3 配置CA服务器 指定凭据 选择要配置的角色服务 选择CA的设置类型 指定CA类型 指定私钥类型 指定证书有效期 确认整体配置 确认后就可以开始配置我们的CA服务器 4 配置完成后 申请证书 打开IIS 里
  • 以后不在:CSDN写博客了

    以后不在CSDN写博客了 去寻找一个 有人情味的地方 老洋
  • JAVA 练习

    错题回顾 1 运行如下代码 class COne public void f System out println COne f class CTwo extends COne public void f System out printl