【Java练习题】Java 程序的输出 | 第十四套(构造函数)

简介: 【Java练习题】Java 程序的输出 | 第十四套(构造函数)

难度级别: 简单

程序

程序一

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

class Helper
{
  private int data;
  private Helper()
  {
    data = 5;
  }
}
public class Test
{
  public static void main(String[] args)
  {
    Helper help = new Helper();
    System.out.println(help.data);
  }
}

a) 编译错误

b) 5

c) 运行时错误

d) 这些都不是



程序二

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

public class Test implements Runnable
{
  public void run()
  {
    System.out.printf(" 线程正在运行 ");
  }
  try
  {
    public Test()
    {
      Thread.sleep(5000);
    }
  }
  catch (InterruptedException e)
  {
    e.printStackTrace();
  }
  public static void main(String[] args)
  {
    Test obj = new Test();
    Thread thread = new Thread(obj);
    thread.start();
    System.out.printf(" juejin ");
  }
}

a) juejin 线程正在运行

b) 线程正在运行 juejin

c) 编译错误

d) 运行时间错误



程序三


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

class Temp
{
  private Temp(int data)
  {
    System.out.printf("构造函数调用");
  }
  protected static Temp create(int data)
  {
    Temp obj = new Temp(data);
    return obj;
  }
  public void myMethod()
  {
    System.out.printf("方法调用");
  }
}
public class Test
{
  public static void main(String[] args)
  {
    Temp obj = Temp.create(20);
    obj.myMethod();
  }
}

a) 构造函数调用方法调用

b) 编译错误

c) 运行时错误

d) 以上都不是



程序四


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

public class Test
{
  public Test()
  {
    System.out.printf("1");
    new Test(10);
    System.out.printf("5");
  }
  public Test(int temp)
  {
    System.out.printf("2");
    new Test(10, 20);
    System.out.printf("4");
  }
  public Test(int data, int temp)
  {
    System.out.printf("3");
  }
  public static void main(String[] args)
  {
    Test obj = new Test();
  }
}

a) 12345

b) 编译错误

c) 15

d) 运行时错误



程序五


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

class Base
{
  public static String s = "超类";
  public Base()
  {
    System.out.printf("1");
  }
}
public class Derived extends Base
{
  public Derived()
  {
    System.out.printf("2");
    super();
  }
  public static void main(String[] args)
  {
    Derived obj = new Derived();
    System.out.printf(s);
  }
}

a) 21超类

b) 超类 21

c) 编译错误

d) 12超类



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

image.png

输出及解析

程序一输出

答案

(a)

说明

私有构造函数]不能被用来初始化类之外的对象,它是内,因为它已不再是可见的外部类中定义。


程序二输出

答案

(C)

说明

构造函数不能包含在 try/catch 块中。


程序三输出

答案

(a)

说明

当构造函数被标记为私有时,从某个外部类创建该类的新对象的唯一方法是使用创建新对象的方法,如上面程序中定义的那样。方法 create() 负责从其他一些外部类创建 Temp 对象。一旦创建了对象,就可以从创建对象的类中调用它的方法。


程序四答案

回答 :

(a)

说明

构造函数可以链接和重载。当调用 Test() 时,它会创建另一个调用构造函数 Test(int temp) 的 Test 对象。


程序五答案

回答 :

(c)

说明:

对超类的构造函数调用必须是派生类的构造函数中的第一条语句。


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


目录
相关文章
|
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
|
缓存 监控 算法
Java程序性能优化策略与实践
在当今软件开发领域,Java作为一种广泛应用的编程语言,其程序性能优化显得尤为重要。本文将介绍一些Java程序性能优化的策略和实践,帮助开发者提高代码执行效率、减少资源消耗,并优化用户体验。通过深入探讨各种优化技术和工具,读者将能够更好地理解和运用这些策略,有效提升Java应用程序的性能。
142 1
|
算法 Java 数据处理
Java程序性能优化研究
Java程序性能优化研究
143 0
|
监控 算法 Java
限时!字节Java程序性能优化宝典开源,原来这才叫性能优化
让你的Java程序更快、更稳定 程序的性能受代码质量的直接影响。那么该如何让代码在级别上提升系统性能呢? 其实性能提升永远没有捷径,需要 分析、优化、实验、监控 ,需要一点点积累和深入。随着你对项目和性能优化理解不断深入,会发现提升性能的手段变得越来越丰富,性能数据自然也会跟着上去。 一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序感受Java开发中的大智慧,让你的Java程序更优美。那么今天LZ挖出一份有关Java程序性能优化的文档,可以让你的Java程序更快、更稳定,主要是涵盖了一些Java程序的优化方法和技巧:
122 1