【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)

说明:

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


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


目录
相关文章
|
3月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
2月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
60 2
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
113 1
|
3月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
616 2
|
3月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
194 1
|
3月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
114 1
|
3月前
|
Java 编译器
【编程基础知识】详解Java构造函数
构造函数是与类同名且不带返回值的特殊函数,用于对象初始化。它可以是无参或有参的,支持重载。若未自定义构造函数,编译器会提供默认的无参构造函数。子类构造函数会先调用父类的构造函数,确保父类对象先被创建。构造函数的主要作用是初始化对象的存储空间、调用父类构造函数和初始化成员变量。
41 0
|
3月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
53 0
Java反射 - 构造函数
Java反射——构造函数 使用Java反射,您可以检查类的构造函数,并在运行时实例化对象。 这是通过Java类java.lang.reflect.Constructor完成的。
832 0
|
18天前
|
监控 Java
java异步判断线程池所有任务是否执行完
通过上述步骤,您可以在Java中实现异步判断线程池所有任务是否执行完毕。这种方法使用了 `CompletionService`来监控任务的完成情况,并通过一个独立线程异步检查所有任务的执行状态。这种设计不仅简洁高效,还能确保在大量任务处理时程序的稳定性和可维护性。希望本文能为您的开发工作提供实用的指导和帮助。
80 17

热门文章

最新文章