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

说明:

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


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


目录
相关文章
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
3月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
67 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
117 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
46 1
|
2月前
|
Java 编译器
【编程基础知识】详解Java构造函数
构造函数是与类同名且不带返回值的特殊函数,用于对象初始化。它可以是无参或有参的,支持重载。若未自定义构造函数,编译器会提供默认的无参构造函数。子类构造函数会先调用父类的构造函数,确保父类对象先被创建。构造函数的主要作用是初始化对象的存储空间、调用父类构造函数和初始化成员变量。
31 0
|
2月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
35 0
|
2月前
|
Java
java的程序记录时间
java的程序记录时间
27 0
|
Java 容器
日常Java练习题(每天进步一点点系列)
日常Java练习题(每天进步一点点系列)
日常Java练习题(每天进步一点点系列)
|
Java Android开发
日常Java练习题(每天进步一点点系列)
日常Java练习题(每天进步一点点系列)
日常Java练习题(每天进步一点点系列)