更多“虚方法调用有什么重要作用?具有什么修饰符的方法不能够使用虚方法调用?”相关问题
  • 第1题:

    什么是函数的静态调用和动态调用?这两种调用方法各有什么优缺点?怎样实现函数的动态调用?


    正确答案: 函数的使用有静态调用和动态调用两种方式,所谓静态调用,就是系统在编译代码时就对函数进行彻底的编译,对返回值以及入口参数进行检查和匹配,出现问题立即报告错误。而动态调用的函数在程序执行的时候才会去查找和调用相应的函数,而在程序编译时可以没有该函数。其优点是程序的开发具有极大的灵活性,缺点是降低了应用程序执行的速度,缺少调试编译中的错误检查功能。
    使用关键字DYNAMIC。

  • 第2题:

    一个类的层次结构中,定义有虚函数,并且都是公有继承,在下列情况下,实现动态联编的是()。

    • A、使用类的对象调用虚函数
    • B、使用类名限定调用虚函数,其格式如下:<类名>::<虚函数名>
    • C、使用构造函数调用虚函数
    • D、使用成员函数调用虚函数

    正确答案:D

  • 第3题:

    使用()修饰符能调用未实例化得类中的方法


    正确答案:static

  • 第4题:

    不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?()

    • A、实例方法可以直接调用父类的实例方法。
    • B、实例方法可以直接调用父类的类方法。
    • C、实例方法可以直接调用其他类的实例方法。
    • D、实例方法不可以直接调用本类的类方法。

    正确答案:A,B

  • 第5题:

    什么是线程?它产生的背景是什么?线程有几种状态?说明状态变化调用的方法。


    正确答案:线程是一个进程在执行过程中产生的多条执行线索。每个线程有它产生、存在和消亡的过程,是动态的。线程由线程内核对象和线程堆栈两部分组成,相对于组成进程的内核对象及虚拟地址空间,线程使用的系统资源比进程少得多。
    它产生的背景是:操作系统按照一定的策略(优先级、循环等)调度各个进程执行,以最大限度地利用计算机的各种资源。一个进程运行期间,拥有的主要资源包括地址空间(存放text,data,stack)、打开文件表、资源控制信息、核心栈。除了text可被其他进程共享外,上述资源都属进程私有。因此CPU从运行一个进程转换到运行另一个进程时,为进程保存、恢复的开销很大,并发效率低。如果把进程所占私有资源与进程中的运行代码相分离,在一个地址空间中便可运行多个代码段,由此产生线程概念。 线程的状态有以下四种:
    (1)创建状态(New-Thread);
    (2)运行状态(Runnable);
    (3)不可运行状态(Not-Runnable);
    (4)死亡状态(Dead)。
    对于上面4种状态,各有特定的使线程返回可运行状态的方法与之对应,如下所述:
    (1)如果线程处于睡眠状态中,sleep()方法中的参数为休息时间,当这个时间过去后,线程即为可运行的;
    (2)如果一个线程被挂起,需调用resume()方法才能返回;
    (3)如果线程在等待条件变量,那么要停止等待的话,需要该条件变量的线程对象调用notifyAll()方法;
    (4)如果在I/O流中发生线程阻塞,则特定的I/O完成可结束这种不可运行状态。 需要注意的是每种方法仅仅对相应的情况才有作用,例如当一个线程睡眠并且睡眠时间还没有结束时,调用resume()方法是无效的。

  • 第6题:

    抽象方法和虚方法有什么异同?


    正确答案: 虚方法必须有实现部分,并为派生类提供了覆盖该方法的选项;
    抽象方法没有提供实现部分,抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。
    抽象方法只能在抽象类中声明,抽象方法必须在派生类中重写;
    虚方法不是也不必要重写。其实如果类包含抽象方法,那么该类也是抽象的,也必须声明为抽象的。
    抽象方法必须在派生类中重写,这一点跟接口类似,虚方法不必。抽象方法不能声明方法实体,而虚方法可以包含抽象方法的类不能实例化,而包含虚方法的类可以实例化!

  • 第7题:

    虚方法调用有什么重要作用?具有什么修饰符的方法不能够使用虚方法调用?


    正确答案: 使用虚方法调用的作用在于:在使用上溯造型的情况下,子类对象可以当做父类对象,对于重载或继承的方法,Java运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。对子类的一个实例,如果子类重载了父类的方法,则运行时系统调用子类的方法,如果子类继承了父类的方法(未重载),则运行时系统调用父类的方法。
    使用static、private或final所修饰的方法不能够使用虚方法调用。

  • 第8题:

    单选题
    在以下什么情况下,构造方法会被调用?()
    A

    类定义时

    B

    创建对象时

    C

    调用对象方法时

    D

    使用对象的变量时


    正确答案: C
    解析: 暂无解析

  • 第9题:

    单选题
    关于类的虚拟方法的说法中正确的是()。
    A

    虚拟方法就是没有实现的方法

    B

    不能在派生类中调用基类的虚方法

    C

    可以在派生类中重载基类的虚方法

    D

    基类中不能调用自己的虚方法


    正确答案: D
    解析: 暂无解析

  • 第10题:

    填空题
    使用()修饰符能调用未实例化得类中的方法

    正确答案: static
    解析: 暂无解析

  • 第11题:

    单选题
    一个类的层次结构中,定义有虚函数,并且都是公有继承,在下列情况下,实现动态联编的是()。
    A

    使用类的对象调用虚函数

    B

    使用类名限定调用虚函数,其格式如下:<类名>::<虚函数名>

    C

    使用构造函数调用虚函数

    D

    使用成员函数调用虚函数


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    关于委托描述错误的是()。
    A

    委托是一种引用方法的类型

    B

    委托即能够对静态方法进行调用也能够对实例方法进行调用

    C

    委托定义了方法的类型

    D

    定义委托必须使用public修饰符


    正确答案: B
    解析: 暂无解析

  • 第13题:

    下列类方法说法错误的有()

    • A、在类方法中可用this来调用本类的类方法,
    • B、在类方法中调用本类的类方法时可直接调用,
    • C、在类方法中只能调用本类中的类方法,
    • D、在类方法中绝对不能调用实例方法,

    正确答案:A,C,D

  • 第14题:

    关于类的虚拟方法的说法中正确的是()。 

    • A、虚拟方法就是没有实现的方法
    • B、不能在派生类中调用基类的虚方法
    • C、可以在派生类中重载基类的虚方法
    • D、基类中不能调用自己的虚方法

    正确答案:C

  • 第15题:

    Hibernate对象从瞬时到持久状态转换的方式有()。

    • A、调用session的save方法
    • B、调用session的create方法
    • C、调用session的update方法
    • D、调用session的load方法

    正确答案:A

  • 第16题:

    使用this调用类的构造方法,下面的说法正确的是?()

    • A、使用this调用构造方法的格式为this([参数1,参数2…])
    • B、只能在构造方法中使用this调用其它的构造方法
    • C、使用this调用其它构造方法的语句必须放在第一行
    • D、不能在一个类的两个构造方法中使用this互相调用

    正确答案:A,B,C,D

  • 第17题:

    在以下什么情况下,构造方法会被调用?()

    • A、类定义时
    • B、创建对象时
    • C、调用对象方法时
    • D、使用对象的变量时

    正确答案:B

  • 第18题:

    在具有虚继承的类体系中,建立派生类对象时以什么顺序调用构造函数?


    正确答案:在具有虚继承的类体系中,建立派生类对象时先调用间接基类构造函数,再按照派生类定义时各个直接基类继承的顺序调用直接基类的构造函数,最后再对派生类对象自身构造函数。
    另外,C++为了保证虚基类构造函数只被建立对象的类执行一次,规定在创建对象的派生类构造函数中只调用虚基类的构造函数和进行(执行)自身的初始化。参数表中的其他调用被忽略,即直接基类的构造函数只调用系统自带的版本,或调用自定义版本但不对虚基类数据成员初始化。

  • 第19题:

    多选题
    下列类方法说法错误的有()
    A

    在类方法中可用this来调用本类的类方法,

    B

    在类方法中调用本类的类方法时可直接调用,

    C

    在类方法中只能调用本类中的类方法,

    D

    在类方法中绝对不能调用实例方法,


    正确答案: C,B
    解析: 暂无解析

  • 第20题:

    单选题
    使用()修饰符修饰的方法和变量只可以被类本身访问和调用。
    A

    public

    B

    protected

    C

    friendly

    D

    private


    正确答案: D
    解析: 暂无解析

  • 第21题:

    问答题
    什么是函数的静态调用和动态调用?这两种调用方法各有什么优缺点?怎样实现函数的动态调用?

    正确答案: 函数的使用有静态调用和动态调用两种方式,所谓静态调用,就是系统在编译代码时就对函数进行彻底的编译,对返回值以及入口参数进行检查和匹配,出现问题立即报告错误。而动态调用的函数在程序执行的时候才会去查找和调用相应的函数,而在程序编译时可以没有该函数。其优点是程序的开发具有极大的灵活性,缺点是降低了应用程序执行的速度,缺少调试编译中的错误检查功能。
    使用关键字DYNAMIC。
    解析: 暂无解析

  • 第22题:

    多选题
    使用this调用类的构造方法,下面的说法正确的是?()
    A

    使用this调用构造方法的格式为this([参数1,参数2…])

    B

    只能在构造方法中使用this调用其它的构造方法

    C

    使用this调用其它构造方法的语句必须放在第一行

    D

    不能在一个类的两个构造方法中使用this互相调用


    正确答案: A,B,C,D
    解析: 暂无解析

  • 第23题:

    单选题
    下列关于虚方法的描述中,正确的是()
    A

     虚方法能在程序执行时动态确定要调用的方法,因此比非虚方法更灵活

    B

     在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符

    C

     在重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符

    D

     在重写基类的虚方法时,需要同时带上virtual和override修饰符


    正确答案: A
    解析: 暂无解析