java问题分析-分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )

问题描述

分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )
  1. 分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )
    class A {
    public void test() {
    System.out.println(""A类的test()方法"");
    }
    }
    class B extends A {
    public void test() {
    System.out.println(""B类的test()方法"");
    }
    public static void main(String args[]) {

    }
    }
    A. A a = new B();
    a.test();
    B. A a = new A();
    a.test();
    C. B b = new A();
    b.test();
    D. new B().test();

解决方案

A和D
D:没什么可说的,就是B类的Test方法调用
A:多态,如果子类有重载,则会调用等号右边类的方法。也就是B类的Test方法

解决方案二:
A和D;
你可以运行一下看看的或者教你只要看new B()这部分就可以了。

如果回答对你有帮助请采纳

解决方案三:
你这个是继承也就是说B的内容大于或等于A的所以调用A来实例化B是不可能的因为B继承了A所以A是B的一部分可以用B来实例化A的。

如果回答对你有帮助请采纳

解决方案四:
AD。继承和覆盖的问题。
A a = new B();
a.test();
a的运行期类型是B,编译期类型是a,运行的时候会从运行期类型里找test方法,找不到找父类
new B().test();
这个简单,实例化一个B类型的实例,然后调用test方法(当然也就是覆盖之后的test了)

解决方案五:
A,父类引用指向子类实例,所以执行的是子类方法。
D

解决方案六:
A、D。。。。。。。

解决方案七:
A 和 D
子类属性 属于 父类属性……

解决方案八:
A和D A是由于多态,它会先指向子类的引用。

解决方案九:
public class text1 {
public void a1(){
System.out.println(""1111"");
}
}
class text2 extends text1{
public void b1(){
System.out.println(""222222"");
}
}
class text3{
public static void main(String[] args) {
text2 t = new text2();
t.a1();
t.b1();
text1 t1 = new text1();
t1.a1();
t1.b1();
}
}
还是得调用子类, 因为一代更比一代强。

解决方案十:
A和D。。。。。。。。。。。。。。。。。

时间: 2024-12-23 19:11:45

java问题分析-分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )的相关文章

java io 根据TXT 在控制台上输出相关表的信息

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.Serializable; import java.text.DecimalFormat; impor

java小白试着分析了一下这个代码。求大神帮忙看一下正不正确;代码如下:

问题描述 java小白试着分析了一下这个代码.求大神帮忙看一下正不正确:代码如下: public class Test{ private static int i = 0; private static int j = 0; public static void main(String[] args) { int i = 2;//i之所以是2 而不是0 是因为 就近原则 int k = 3; { int j = 3; System.out.println("i+j ist"+i+&qu

使用 Java 6 API分析源码

您可曾想过像 Checkstyle 或 FindBugs 这样的工具如何执行静态代码分析吗,或者像 NetBeans 或 Eclipse 这样的集成开发环境(Integrated Development Environments IDE)如何执行快速代码修复或 查找在代码中声明的字段的完全引用吗?在许多情况下,IDE 具有自己的 API 来解析源码并生成标准树 结构,称为 抽象语法树(Abstract Syntax Tree AST) 或"解析树",此树可用于对源码元素的进一步 分析.

Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析_Android

        在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码.细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢?这就是本文要介绍的Android系统应用程序框架层的用Java语言来实现的Binder接口了.        熟悉Android系统

Java数组内存分析

1. Java数组是静态的 Java是静态语言,所以Java的数组也是静态的,即:数组被初始化后,长度不可变 静态初始化:显式指定每个数组元素的初始值,系统决定数组长度 String[] books = new String[]{"疯狂Java讲义","Thinking in Java","Java核心技术卷"}; String[] names = new String[]{"张三","李四","

Java开源运行分析工具(转)

  FProfiler  FProfiler是一个非常快的Java profiler.它利用BCEL和log4j来记录每个方法从开始到结尾的日记.FProfiler可以用来在你的应用程序,Servlet,Applet...中找出hotspots. 更多FProfiler信息   JRat  JRat是一个Java Runtime分析工具包.它的目的是让开发者更好的明白Java程序动行时的状态.JRat包括但并不只局限于性能剖析. 更多JRat信息   EJP  EJP(Extensible Ja

Java源码分析之CountDownLatch

        一.CountDownLatch介绍        CountDownLatch是一种同步手段,允许一个或者更多的线程等待,直到在其他线程正在执行的一组操作完成.给定count数目后CountDownLatch被初始化.await()方法阻塞,直到由于调用countDown()方法,当前count值达到0,之后所有等待线程被释放,而任何后续await()方法的调用会立即返回.这个是只有一次的现场,即count值无法被重设.如果你需要一个能够重设count值的版本,不妨考虑使用Cy

java异常机制分析_java

本文实例分析了Java的异常机制,分享给大家供大家参考.相信有助于大家提高大家Java程序异常处理能力.具体分析如下: 众所周知,java中的异常(Exception)机制很重要,程序难免会出错,异常机制可以捕获程序中的错误,用来提高程序的稳定性和健壮性. java中的异常分为Checked Exception(非Runtime Exception)和UnChecked Exception(Runtime Exception),所有的异常类都直接或间接的继承Exception.Exception

Java异常处理实例分析_java

本文实例讲述了Java异常处理的用法.分享给大家供大家参考.具体分析如下: Java的异常处理机制可以帮助我们避开或者处理程序可能发生的错误,从而使得程序在遇到一些可恢复的错误的时候不会意外终止,而是去处理这些错误,也使得我们在写程序的时候不必写大量的代码来检查错误情况,增强了代码的可读性和逻辑性.在Java中,异常代表一个错误的实体对象. 异常可分为两类:一类是严重错误,如硬件错误.内存不足等,它们对应着java.lang包下的Error类及其子类.通常这类错误程序自身是无法恢复的,需要中断程