文档章节

面试题

architect刘源源
 architect刘源源
发布于 2018/09/06 17:53
字数 444
阅读 10
收藏 0

如下为今天京北方的笔试题:

-----------------------类A
public class A {
	static {
		System.out.println("A1");
	}
	public A(){
		System.out.println("A2");
	}
}

---------------类B-------------------
public class B extends A{
	static {
		System.out.println("b1");
	}
	public B(){
		System.out.println("b2");
	}
	public static void main(String[] args){
		A ab = new B();
		ab = new B();
	}
}

问输出结果?当时一下子给整蒙了,也怪我对static就没怎么在意,所以再看到A ab用父类引用子类的代码后就一直在这里打转了,就写了个答案abab!哎~差得十万八千里了。 被static修饰的方法或者变量属于类,而不属于对象。所以可以用类名或者对象名引用这些方法或者变流量,当遇到没有实例化的声明时,这些方法仍然会被执行! 结果是

A1
b1
A2
b2
A2
b2

 

为什么呢?首先A ab  执行A中的静态方法输出A1,然后因为没有构造A1的对象,所以不可能输出A2;构造了B的对象所以输出了b1  A2  b2,为什么呢?这里可就有窍门了。构造B的对象时,先执行静态代码块,静态代码块属于类,每个对象都可以执行而且是在构造方法之前执行,输出b1;接下来执行构造方法,B继承了A,所以首先执行A的构造方法,输出了A2,再执行自己的构造方法输出了b2;最后的A2  b2,因为ab之前指向的是一个B对象的地址,然后再赋予一个B对象的地址,所以不会再执行之前A中的静态方法,只会执行new B()应该输出的结果。

© 著作权归作者所有

architect刘源源

architect刘源源

粉丝 170
博文 564
码字总数 941209
作品 0
浦东
程序员
私信 提问
最新iOS面试必看题视频教程(附大神简历要素)

本文是由尚学堂iOS学院总结的ios开发者在求职时会遇到的一些面试题 ,并通过实际代码演练将课程详尽的讲解出来,希望对学习ios或从事ios开发行业的朋友有所帮助。 001尚学堂iOS面试题命名规范...

2846613430
2016/04/12
636
0
2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。 我特意整理了...

youanyyou
2017/11/08
0
0
Android开发工程师面试指南(面试题集附答案、简历模板)

给Android开发工程师的一份面试指南,包含面试题集与简历模板。 面试题集 面试题集里的答案大部分来源于我的博客,因此这个题集也相当于是我的博客的精华版,希望对需要面试的Android同学有所...

郭孝星
2018/04/08
0
0
Linux运维MySQL必会面试题100道

老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口是否运...

老男孩oldboy
2017/08/25
0
0
金九银十,史上最强 Java 面试题整理。

以下会重新整理所有 Java 系列面试题答案、及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新。 Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spring 面试...

Java技术栈
2018/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用CSS自定义属性构建骨架屏

写在前面 几天前看到薄荷前端团队分享的《前端骨架屏方案小结》,突然回想起一年前看到的max bock写的《Building Skeleton Screens with CSS Custom Properties》,翻译整理写下出此文,分享...

前端老手
昨天
9
0
Docker常用命令小记

除了基本的<font color="blue">docker pull</font>、<font color="blue">docker image</font>、<font color="blue">docker ps</font>,还有一些命令及参数也很重要,在此记录下来避免遗忘。 ......

程序员欣宸
昨天
9
0
MAT使用-jvm内存溢出问题分析定位

1.MAT简介: MAT 全称 Eclipse Memory Analysis Tools 是一个分析 Java堆数据的专业工具,可以计算出内存中对象的实例数量、占用空间大小、引用关系等,看看是谁阻止了垃圾收集器的回收工作,...

xiaomin0322
昨天
5
0
内网和外网之间的通信(端口映射原理)

首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的...

Jack088
昨天
6
0
3.深入jvm内核-原理、诊断与优化-4. GC算法和种类

一、GC算法和种类 GC的概念 GC算法 引用计数法 标记清除 标记压缩 复制算法 可触及性 Stop-The-World GC的对象是堆空间和永久区 引用计数法 老牌垃圾回收算法 通过引用计算来回收垃圾 使用者...

hexiaoming123
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部