精华内容
下载资源
问答
  • 2018-05-31 15:25:20
    class A {
    
    	public A() {
    		a1();
    	}
    
    	public void a1() {
    		System.out.println("A-a1");
    	}
    }
    
    public class Test extends A {
    
    	int bb = 0;
    
    	public Test() {
    		bb = 1000;
    	}
    
    	public void a1() {
    
    		System.out.println("bb is " + bb);
    
    		System.out.println("B-a1");
    
    	}
    
    	public static void main(String[] args) {
    		new Test();
    	}
    }
    

    知道他们的答案了吗?不知道的话,看看我标出的执行顺序吧。

    package com;
    class A{   
        //3
        public A()  {
            a1();
        } 
    
        public void a1()    {
            System.out.println("A-a1");
        }
    }
     
    
    public class B extends A{
        int bb = 0;    //2
    
        public B()   {
            //5
            bb = 1000;
        }
    
        //4
        public void a1()   {
            System.out.println("bb is " + bb);
            System.out.println("B-a1");
        }
        public static void main(String[] args)  {
            //1
            new B();    
    }}

    更多相关内容
  • 第十四题: 以下代码输出结果是?

    千次阅读 2019-11-14 15:54:27
    以下代码输出结果是? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class B { public static B t1 = new B(); .....

    第十四题:

    以下代码的输出结果是?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    public class B

    {

        public static B t1 = new B();

        public static B t2 = new B();

        {

            System.out.println("构造块");

        }

        static

        {

            System.out.println("静态块");

        }

        public static void main(String[] args)

        {

            B t = new B();

        }

    }

     

    A 静态块 构造块 构造块 构造块
    B 构造块 静态块 构造块 构造块
    C 构造块 构造块 静态块 构造块
    D:构造块 构造块 构造块 静态块

    懵逼树上懵逼果,懵逼树下你和我

    首先看到这道题,我就想着那不是先静态代码块先执行吗

    话不多说,直接跑代码

    public class B
    
    {
    
        public static B t1 = new B();
    
        public static B t2 = new B();
    
        {
    
            System.out.println("构造块");
    
        }
    
        static
    
        {
    
            System.out.println("静态块");
    
        }
    
        public static void main(String[] args)
    
        {
    
            B t = new B();
    
        }
    
    }

    运行结果

    接着我们看看大家的评论


    开始时JVM加载B.class,对所有的静态成员进行声明,t1 t2被初始化为默认值,为null,又因为t1 t2需要被显式初始化,所以对t1进行显式初始化,初始化代码块→构造函数(没有就是调用默认的构造函数),咦!静态代码块咋不初始化?因为在开始时已经对static部分进行了初始化,虽然只对static变量进行了初始化,但在初始化t1时也不会再执行static块了,因为JVM认为这是第二次加载类B了,所以static会在t1初始化时被忽略掉,所以直接初始化非static部分,也就是构造块部分(输出''构造块'')接着构造函数(无输出)。接着对t2进行初始化过程同t1相同(输出'构造块'),此时就对所有的static变量都完成了初始化,接着就执行static块部分(输出'静态块'),接着执行,main方法,同样也,new了对象,调用构造函数输出('构造块')

    最后答案选择C

    文章仅个人理解,来在各大网站。如有不合理之处,欢迎吐槽。

    阅读目录(置顶)(长期更新计算机领域知识)

    阅读目录(置顶)(长期更新计算机领域知识)

    阅读目录(置顶)(长期科技领域知识)

    歌谣带你看java面试题

    展开全文
  • 输出的结果是3个3,因为在主程序中遇到异步事件的时候,会将异步事件放到事件队列里面去,等到主程序执行完之后,在去执行事件队列里面的事件,此时主程序已经执行完,i变为3,由于每次输出都是i的值,所以是3个3 ...
    for(var i=0;i<3;i++){
    	setTimeout(function(){
    		console.log(i);
    	},0);
    }
    

    输出的结果是3个3,因为在主程序中遇到异步事件的时候,会将异步事件放到事件队列里面去,等到主程序执行完之后,在去执行事件队列里面的事件,此时主程序已经执行完,i变为3,由于每次输出都是i的值,所以是3个3

    展开全文
  • 以下代码输出结果是什么?

    千次阅读 2017-07-27 17:17:06
    本来是要调用C类的GetData() ,C中未定义,故调用B中的,但是B中也为定义,故调用A中的doGetData() ,因为A中的doGetData() 是虚函数,所以调用B类中的doGetData(),而B类的doGetData() 返回B::a,故输出1. ...

    #include<iostream>
    using namespace std;
    class A{
    	protected:
    		int a;
    	public:
    		A(int data=0)
    		{
    			a=data;
    		}
    		int GetData()
    		{
    			return doGetData();
    		}
    		virtual int doGetData()
    		{
    			return a;
    		}
    };
    
    class B:public A
    {
    	protected:
    		int a;
    	public:
    		B(int data=1)
    		{
    			a=data;
    		}
    	    int doGetData()
    		{
    			return a;
    		}
    };
    
    
    class C:public B
    {
    	protected:
    		int a;
    	public:
    		C(int data=2)
    		{
    			a=data;
    		}
    };
    
    int main()
    {
    	C c(10);
    	cout<<c.GetData()<<endl;
    	cout<<c.A::GetData()<<endl;
    	cout<<c.B::GetData()<<endl;
    	cout<<c.C::GetData()<<endl;
    	cout<<c.doGetData()<<endl;
    	cout<<c.A::doGetData()<<endl;
    	cout<<c.B::doGetData()<<endl;
    	cout<<c.C::doGetData()<<endl;
    	
    	return 0;
    }


    cout<<c.GetData()<<endl;
    本来是要调用C类的GetData() ,C中未定义,故调用B中的,但是B中也为定义,故调用A中的doGetData() ,因为A中的doGetData() 是虚函数,所以调用B类中的doGetData(),而B类的doGetData() 返回B::a,故输出1.

    cout<<c.A::GetData()<<endl;
    因为A中的doGetData() 是虚函数,又因为C类中未重定义该接口,所以调用B类中的doGetData(),故输出1.

    cout<<c.B::GetData()<<endl;
    肯定返回1了。

    cout<<c.C::GetData()<<endl;
    因为C类中未重定义GetData(),故调用从B继承来的GetData(),但是B类也未定义,所以调用A中的GetData(),因为A中的doGetData() 是虚函数,所以调用B类中的doGetData(),而B类的doGetData() 返回B::a,故输出1.

    cout<<c.doGetData()<<endl;
    肯定是B类的返回值1了。

    cout<<c.A::doGetData()<<endl;
    因为直接调用了A的doGetData(),所以输出为0.

    cout<<c.B::doGetData()<<endl;
    因为直接调用了B的doGetData(),所以输出为1.

    cout<<c.C::doGetData()<<endl;
    因为C类中未重新定义该接口,所以调用B类中的doGetData(),故输出为1.





    展开全文
  • 下面代码输出结果是

    千次阅读 2021-02-04 13:39:23
    【单选题】下面代码的执行结果是 abs(-3+4j)【单选题】关于Python语言的浮点数类型,以下选项...以下选项中描述错误的是:【单选题】不属于特殊口腔护理的适用对象的是【单选题】下面代码输出结果是 a = 1000000 b =...
  • java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21...
  • 2.以下代码执行后输出结果为( )

    千次阅读 2019-05-13 21:10:24
    以下代码执行后输出结果为( ) public class Test { public static void main(String[] args) { System.out.println("return value of getValue(): " + getValue()); } public static int getValu...
  • 下面代码输出结果是什么?

    千次阅读 2020-04-20 22:13:47
    Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。main方法,把抛出的RuntimeException抛给了调用者(JVM)。...
  • ( )【单选题】以下选项中,不属于Python保留字的是( )【单选题】下面代码的输出结果是( ) lst = list(range(2,15,3)) print(9 in lst)【单选题】哪个音一共只有2个音名【单选题】以下代码输出结果是( ) for s in ...
  • 下列代码输出结果是_____ boolean b=true?false:true==true?false:true; System.out.println(b); A. true B. false C. null D. 空字符串 答案 B 解析 ==优先级高于三目运算符 故第一步执行:true==true,结果为...
  • 两个线程并发执行以下代码,假设a是全局变量,初始为1,那么以下输出______是可能的?
  • 【单选题】表达式 print("{:.2f}".format(20-2**3+10/3**2*5)) 的结果是:【单选题】下面代码输出结果是 a = 1000000 b = "-" print("{0:{2}^{1},}\n{0:{2}>{1},}\n{0:{2}【单选题】下面代码的执行结果是 x = 2 ...
  • 【单选题】关于Python的复数类型,以下选项中描述错误的是【单选题】将以下代码保存成Python文件,运行后输出的是: li = ['alex','eric','rain'] s = "_".join(li) print(s)【单选题】下面代码的输出结果是: a =...
  • #include<stdio.h> main() { char ch; int i; for(i=0;i<26;i++) { ch=i+65; if(i%2==0) printf("\n"); printf("c=%c ASCII=%d ",ch,ch); } putchar('\n'); } c=A ASCII=65 c=B ASCII=...c=G
  • Rmarkdown第三弹——图、表和代码输出

    千次阅读 多人点赞 2021-03-05 22:23:35
    代码输出 1. 行内代码 `r sin(pi/2)` 有趣的案例: 1)自动更新日期 date: "`r Sys.Date()`" date: "`r format(Sys.time(), '%d %B, %Y')`" date: "Last compiled on `r format(Sys.time(), '%d %B, %Y')`" 具体...
  • C++输出自身源代码--Quine

    万次阅读 2020-03-20 08:40:53
    在这道题你需要返回一个字符串,这个字符串就是你提交的代码本身。 C++类形式为: class Solution { public: string q() { } }; 0x02.解决 这其实是一个著名的Quine 程序。 官方解释: A quine is a computer...
  • 【单选题】关于Python字符串,以下选项中描述错误的是【单选题】以下程序的输出结果是: lcat =["狮子","猎豹","虎猫","花豹...关于Python赋值语句,以下选项中不合法的是【单选题】下面代码输出结果是 s = 0 while(s...
  • double d=84.54; d++; int c=d/2; A.42 B.编译错误,更改为int c=(int)d/2; C.43 D.编译错误,更改为int c=int(d)/2;
  • 以下代码执行后输出结果为() public class Test { public static Test t1=new Test(); { System.out.println("blockA"); } static { System.out.println("blockB"); } public static void main(String...
  • vscode runcode出错/运行无输出(python) **问题:**在安装Code Runner后run code 或点击右上角运行图标报错。 **解决办法:**在settings.json添加以下代码即可。其中&&后面为python 解析器地址
  • 麻烦提供书名和作者,感谢】Python3.6之4102for循环嵌套撰写代码1653第1个代码 :for i in range(0,4):for j in range(0,7):print("*",end="")print()说明:外循环用变量 i,一共打印4行:即:当i=0时,打印第1行,i...
  • 【单选题】下面代码输出结果是 for a in ["torch","soap","bath"]: print(a)【单选题】当打开一个不存在的文件时,以下选项中描述正确的是【单选题】下面代码输出结果是 a = 5 b = 6 c = 7 print(pow(b,2) –4*a*...
  • 【单选题】用来判断当前Python语句在分支结构中的是【其它】1、按着项目步骤,完成员工... 具体查看课件【单选题】关于eval函数,以下选项中描述错误的是【单选题】给出下面代码: i = 1 while i < 6: j = 0 while j...
  • 编写一个C程序,运行时输出以下图形: **** **** ​ **** ​ **** 代码示例: #include <stdio.h> int main() { for (int i = 0; i < 4; i++) { for (int j = 0; j < i; j++) { printf("%s", " ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,277,745
精华内容 511,098
关键字:

以下代码的输出是