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 练习 的相关文章

  • 将 CSV 文件读入 Java 作为数据库表

    我发现了很多关于使用 Java 读取 CSV 的帖子 并且他们所指向的 API 在读取 CSV 文件时都采用了面向行的方法 就像 当你得到一行时 获取每一列的值 我希望有一个更高级别的 API 比如在 Perl 中 DBI 允许您在 CSV
  • eclipse juno 打开时出错

    在安装 Eclipse 并正常工作一年多后 我今天打开 Eclipse Juno 并在打开工作区时收到一条错误消息 我使用的是 Windows 8 64 位 Java 64 位和 Eclipse 64 位 此后我尝试重新安装 Java 和
  • 如何用Java创建图像

    比如说在我的程序中 我有这个paint 方法 我的愿望是创建所绘制的矩形的图像 使用 for 循环 我尝试了下面的方法 它确实给了我那些矩形 蓝色 但背景是全黑的 当我运行程序而不创建图像 仅在 JFrame 上绘制矩形时 背景为白色 我怎
  • 使用 Gson 序列化时如何公开类名

    我的场景非常复杂 但总结如下 我试图了解编译器的源代码 并了解每个 AST 节点代表什么 我正在生成不同程序的 AST 的 JSON 序列化 然后检查可视化的 JSON 输出 它工作得很好 除了一个问题是在 Gson 中生成的 JSON 数
  • 无法从 TemporalAccessor 获取 OffsetDateTime

    当我这样做时 String datum 20130419233512 DateTimeFormatter formatter DateTimeFormatter ofPattern yyyyMMddHHmmss withZone ZoneI
  • 如何检查字符串是否具有特定模式[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 用户输入任意字符串 程序会区分该字符
  • RSA 加密-解密:BadPaddingException:数据必须以零开头

    对于一个被问了很多次的问题 我很抱歉向您询问您的技能 我有一个关于 RSA 加密的问题 我已经检查过有关此问题的其他主题 但没有找到任何有用的答案 我希望你能帮助我 我想读取一个文件 加密其内容 然后解密它并将这些解密的字节放入一个新文件中
  • GSON:自定义对象反序列化

    好吧 我编辑了这个问题 因为它不够清楚 Edit 2 更新了 JSON 文件 我在 Android 应用程序中使用 GSON 我需要解析来自服务器的 JSON 文件 而且有点太复杂了 我不想让我的对象结构太重 所以我想简化内容 所以我的对象
  • @NotNull.List 的目的

    当我查看标准时限制条件 http docs oracle com javaee 6 api javax validation constraints package summary html在 Bean Validation API JSR
  • Java - 同步方法导致程序大幅减慢

    我正在尝试了解线程和同步 我做了这个测试程序 public class Test static List
  • 可以混合使用 JVM 语言吗?即:Groovy 和 Clojure

    我知道你可以轻松地混合groovy java clojure java 无论什么JvmLang java 这是否也意味着我也可以让 clojure 和 groovy 代码进行交互 如果我使用 Grails 或 jRoR 我也可以在该环境中使
  • org.hibernate.MappingException:没有 JDBC 类型的方言映射:1111

    我使用的是 postgres v8 3 它的列类型为 XML DDL 看起来像这样 CREATE TABLE contact ID INTEGER NOT NULL NAME VARCHAR NOT NULL Details XML 在映射
  • Java 中意外的负数

    import java util public class Prac9FibonacciNumbers public static void main String args int x new int 100 x 0 1 x 1 1 fo
  • WebSocketStompClient 将无法连接到 SockJS 端点

    我正在尝试新的 从版本 4 2 开始 java STOMP 客户端支持 我的出发点是入门指南 使用 WebSocket 构建交互式 Web 应用程序 http spring io guides gs messaging stomp webs
  • 有时 Properties.load() 会跳过行

    在以下情况下 Properties load 会跳过 InputStream 的第二行 这是 Java 的错误还是正常行为 public class PropTest public static void main String args
  • Spring Boot如何加入自定义查询

    我需要创建一个端点 该端点按州返回人口普查数据以及城市列表 我目前使用两个端点来获取此数据 目前回应 自定义查询一 censusByState id 1 code 11 name Rond nia statePopulation 18152
  • Maven `help: effective-pom` 只为单个项目生成,而不是所有项目

    我想为多模块构建中的所有子项目生成有效的 pom The help effective pom文档here http maven apache org plugins maven help plugin usage html The hel
  • Android应用程序中的模式输入

    我想知道是否有其他替代方案可以替代 Android 上平庸的 EditText 密码输入 是否有 API 或开源代码可以集成到我的应用程序中 类似于锁屏图案解锁 Intent 可能会返回哈希值 数字 字符串或代表用户输入的模式的任何内容 我
  • 如何确保超类的子类方法的线程安全?

    我参加了一次面试 并被要求为以下要求设计一个课程 假设我有一个 A 类 它可以有任意数量的子类 即子类 类 A 有一个名为 doSomething 的方法 该方法是同步的 要求是 A 的所有子类都是强制性的重写 doSomething me
  • 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释

    我需要创建一个新的注释 用于在环境变量设置时忽略输出 JSON 文件中的字段var false 我尝试使用JsonAnnotationIntrospector 但无法获得预期的输出 public class Vehicle String v

随机推荐

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

    编写程序 从键盘分别输入年 月 日 判断这一天是当年的第几天 注 判断一年是否是闰年的标准 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