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

说明:

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


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


目录
相关文章
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
346 2
|
11月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
425 98
|
12月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
394 0
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
319 4
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
531 0
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
缓存 监控 算法
Java程序性能优化策略与实践
在当今软件开发领域,Java作为一种广泛应用的编程语言,其程序性能优化显得尤为重要。本文将介绍一些Java程序性能优化的策略和实践,帮助开发者提高代码执行效率、减少资源消耗,并优化用户体验。通过深入探讨各种优化技术和工具,读者将能够更好地理解和运用这些策略,有效提升Java应用程序的性能。
256 1
|
算法 Java 数据处理
Java程序性能优化研究
Java程序性能优化研究
304 0
|
监控 算法 Java
限时!字节Java程序性能优化宝典开源,原来这才叫性能优化
让你的Java程序更快、更稳定 程序的性能受代码质量的直接影响。那么该如何让代码在级别上提升系统性能呢? 其实性能提升永远没有捷径,需要 分析、优化、实验、监控 ,需要一点点积累和深入。随着你对项目和性能优化理解不断深入,会发现提升性能的手段变得越来越丰富,性能数据自然也会跟着上去。 一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序感受Java开发中的大智慧,让你的Java程序更优美。那么今天LZ挖出一份有关Java程序性能优化的文档,可以让你的Java程序更快、更稳定,主要是涵盖了一些Java程序的优化方法和技巧:
273 1