【Java练习题】Java程序的输出 | 第十五套(内部类)

简介: 【Java练习题】Java程序的输出 | 第十五套(内部类)

难度级别: 困难

程序

程序一


1) 以下程序的输出是什么?

public class Outer
{
  public static int temp1 = 1;
  private static int temp2 = 2;
  public int temp3 = 3;
  private int temp4 = 4;
  public static class Inner
  {
    private static int temp5 = 5;
    private static int getSum()
    {
      return (temp1 + temp2 + temp3 + temp4 + temp5);
    }
  }
  public static void main(String[] args)
  {
    Outer.Inner obj = new Outer.Inner();
    System.out.println(obj.getSum());
  }
}

a) 15

b) 9

c) 5

d) 编译错误



程序二


2) 以下程序的输出是什么?

public class Outer
{
  private static int data = 10;
  private static int LocalClass()
  {
    class Inner
    {
      public int data = 20;
      private int getData()
      {
        return data;
      }
    };
    Inner inner = new Inner();
    return inner.getData();
  }
  public static void main(String[] args)
  {
    System.out.println(data * LocalClass());
  }
}

a) 编译错误

b) 运行时错误

c) 200

d) 以上都不是

点此跳转到答案


程序三


3) 以下程序的输出是什么?

interface Anonymous
{
  public int getValue();
}
public class Outer
{
  private int data = 15;
  public static void main(String[] args)
  {
    Anonymous inner = new Anonymous()
        {
          int data = 5;
          public int getValue()
          {
            return data;
          }
          public int getData()
          {
            return data;
          }
        };
    Outer outer = new Outer();
    System.out.println(inner.getValue() + inner.getData() + outer.data);
  }
}

a) 25

b) 编译错误

c) 20

d) 运行时错误

点此跳转到答案


程序四


4) 以下程序的输出是什么?

public class Outer
{
  private int data = 10;
  class Inner
  {
    private int data = 20;
    private int getData()
    {
      return data;
    }
    public void main(String[] args)
    {
      Inner inner = new Inner();
      System.out.println(inner.getData());
    }
  }
  private int getData()
  {
    return data;
  }
  public static void main(String[] args)
  {
    Outer outer = new Outer();
    Outer.Inner inner = outer.new Inner();
    System.out.printf("%d", outer.getData());
    inner.main(args);
  }
}

a) 2010

b) 1020

c) 编译错误

d) 这些都不是

点此跳转到答案


程序五


5) 以下程序的输出是什么?

interface OuterInterface
{
  public void InnerMethod();
  public interface InnerInterface
  {
    public void InnerMethod();
  }
}
public class Outer implements OuterInterface.InnerInterface, OuterInterface
{
  public void InnerMethod()
  {
    System.out.println(100);
  }
  public static void main(String[] args)
  {
    Outer obj = new Outer();
    obj.InnerMethod();
  }
}

a) 100

b) 编译错误

c) 运行时错误

d) 以上都不是

点此跳转到答案


文章后半部分是程序的输出及解析

image.png


输出及解析

程序一输出


答案

(d)

说明

静态内部类不能访问外部类的非静态字段。


程序二输出


答案

(C)

说明

LocalClass() 方法定义了一个局部内部类。此方法创建类 Inner 的对象并返回驻留在其中的变量数据的值。


程序三输出


答案

(b)

说明

方法 getData() 在 Anonymous 类中未定义,导致编译错误。


程序四答案

回答 :

(b)

说明

上面定义的内部类虽然可以访问外部类的私有变量数据,但是在内部类中声明变量数据使其特定于内部类,在变量声明方面没有冲突。


程序五答案

回答 :

(a)

说明:

嵌套接口是在java中定义的。由于两个接口都有 InnerMethod() 的声明,因此实现它一次对 InnerInterface 和 OuterInterface 都有效。


以上就是本篇文章的所有内容了

目录
相关文章
|
6月前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
110 4
|
6月前
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
109 3
|
6月前
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
6月前
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
255 0
|
8月前
|
传感器 安全 算法
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
|
8月前
|
IDE Java 开发工具
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
|
6月前
|
Java 开发工具
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
109 0
|
10月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
179 2
|
10月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
422 2
|
11月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
1946 2