• 面试题小练习1106


    1

    class X{
    Y y=new Y();
    public X(){
    System.out.print("X");
    }
    }
    class Y{
    public Y(){
    System.out.print("Y");
    }
    }
    public class Z extends X{
    Y y=new Y();
    public Z(){
    System.out.print("Z");
    }
    public static void main(String[] args) {
    new Z();
    }
    }
    yxyz

    1 创建类时候的代码执行循序
    初始化过程:
    1. 初始化父类中的静态成员变量和静态代码块 ;
    2. 初始化子类中的静态成员变量和静态代码块 ;
    3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
    4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;
    静态》普通成员变量=构造块》构造器。

    =====================================

    2

    JDK和JRE的区别是什么?
    参考答案

    Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执
    行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包
    ,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让
    开发者开发、编译、执行Java应用程序。

    ==================

    3

    什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
    参考答案

    Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能
    被Java虚拟机执行的字节码文件。
    Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个
    平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层
    硬件平台的指令长度和其他特性。

    ========================

    4

    ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或
    者是static的方法?

    无法重写被private修饰的方法,因为被private修饰的父类方法在子类中是不
    可见的。
    static修饰的方法是静态绑定的,而方法覆盖是为了实现多态,是动态绑定,
    所以static修饰的方法不需要被覆盖

    =====================

    5

    What is the result of compiling and executing the following
    fragment of code:

    Boolean flag = false;
    if (flag = true)
    {
    System.out.println(“true”);
    }
    else
    {
    System.out.println(“false”);
    }
    结局是输出true
    Boolean修饰的变量为包装类型,初始化值为false,进行赋值时会调用
    Boolean.valueOf(boolean b)方法自动拆箱为基本数据类型,因此赋值后
    flag值为true,输出文本true。 如果使用==比较,则输出文本false。if的语句
    比较,除boolean外的其他类型都不能使用赋值语句,否则会提示无法转成布
    尔值。

  • 相关阅读:
    博客园博客
    mongo
    函数式编程与面向对象编程的对比
    python_字典dict要点总结
    pyhon_列表、元组要点总结
    vue-element框架通过blob进行后端token权限验证下载
    node-本地搭建服务
    (转载)测试用例标准
    soapUI学习笔记--用例字段参数化
    soapUI学习笔记---断言的小使用
  • 原文地址:https://www.cnblogs.com/df-happyforever/p/6035835.html
Copyright © 2020-2023  润新知