PS:昨天去笔试后,发现自己对于JavaSE的基础部分还是有些薄弱的地方,特将昨天自己不是太清楚的地方记录下来,巩固基础。

子类继承父类静态方法的问题

public class Study {
public static void main(String[] args) {
Super sup = new SubClass();
sup.say();
sup.a(); SubClass sub = new SubClass();
sub.say();
sub.a();
}
} class Super {
public static void say() {
System.out.println("I am super");
} public void a() {
System.out.println("super a");
}
} class SubClass extends Super{
public static void say() {
System.out.println("I am sub");
} @Override
public void a() {
System.out.println("sub a");
}
}

题目就是问上面的输出结果,这里主要考察的就是子类对于父类静态方法是如何继承的。首先子类能够继承父类的静态方法,但是子类不能够重写父类的静态方法,这就意味着如果如果子类有一个和父类同名且方法签名相同的方法,那么此时子类会隐藏父类的该方法,我们知道多态的机制靠的就是子类重写父类的方法,然后用父类的引用指向子类的对象,用父类的引用调用子类的方法。此时,该静态方法只是被隐藏了,没有被重写,那么在该方法上就没有实现多态。(上面的代码是在IDEA里编写的,在编写的过程也能发现子类对父类的静态方法没有重写,没有提示加@Override注解)

所以上面的输出是:

I am super
sub a
I am sub
sub

Java中类初始化的问题

问:下面代码的输出结果?

package com.yunche;

/**
* @ClassName: Study
* @Description:
* @author: yunche
* @date: 2018/12/05
*/
public class Study {
public static void main(String[] args) {
SubClass subClass = new SubClass();
}
} class Super {
static{
System.out.println("super:clinit()");
} Super() {
System.out.println("super:init()");
}
} class SubClass extends Super{
static{
System.out.println("SubClass:clinit()");
} SubClass() {
System.out.println("SubClass:init()");
}
}

  此题考查类的初始化顺序,先将父类的 clinit() 方法执行完,再执行子类的 clinit()方法,然后执行父类的 init() 方法,最后执行子类的 init() 方法。所以结果为:

super:clinit()
SubClass:clinit()
super:init()
SubClass:init()

Java真实笔试题一的更多相关文章

  1. 非常全面的java基础笔试题

    下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵.我偷偷把面试题弄了下来,用来学习吧,也希望能对你们 ...

  2. Java 面试/笔试题神整理 [Java web and android]

    Java 面试/笔试题神整理 一.Java web 相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并 ...

  3. Java工程师笔试题整理[校招篇]

    Java工程师笔试题整理[校招篇]     隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打 ...

  4. Java基础&笔试题

    这些题目是近期我参加过的笔试题和一些我在网上选的部分题,在这里做笔记,认真去学习,更好的应对后面的招聘.有错误欢迎指出. 一.Java基础部分 1.指针在任何情况下都可进行>,<,> ...

  5. Android开发面试经——3.常见Java基础笔试题

      Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...

  6. [原创]Java常见笔试题知识点汇总

    前天数梦工厂来学校招聘,笔试题比较有特点,全是Java题,基本就是Java的一些特点.凭记忆按照题目找到一些必备知识点 (1). try {}里有一个return语句,那么紧跟在这个try后的fina ...

  7. 深圳市利汇电子商务科技有限公司2019年java面试笔试题

    垃圾公司,建议不要去,写的地址去了发现是两个公司公用一个办公场地,还没有公司的招牌,去了交简历给前台然后就是 填一份求职申请,一份笔试题如下,然后就等待,先是人事的一个小妹妹面试,问一些个人问题,为什 ...

  8. java面试笔试题大汇总

    第一,谈谈final, finally, finalize的区别.  最常被问到.   第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以 ...

  9. java真实面试题(1)

    2019年春杭州邦盛科技java面试题. 1,java基本类型 byte,char,short,int,long,float,double,boolean. 2,重写重载 重写,子类重写父类的方法,方 ...

随机推荐

  1. 【bzoj2600】 [Ioi2011]ricehub

    如果发现尾指针到头指针这段稻田的中位数上建一个粮仓时距离之和超过了B 就调整尾指针对距离维护一个前缀和 每次取中位数之后可以O(1)计算距离和 #include<algorithm> #i ...

  2. C语言8大经典排序算法(1)

    算法一直是编程的基础,而排序算法是学习算法的开始,排序也是数据处理的重要内容.所谓排序是指将一个无序列整理成按非递减顺序排列的有序序列.排列的方法有很多,根据待排序序列的规模以及对数据的处理的要求,可 ...

  3. NaN in JavaScript

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN The global NaN ...

  4. Interfaces (C# Programming Guide)

    https://msdn.microsoft.com/en-us/library/ms173156.aspx An interface contains definitions for a group ...

  5. leetcode 784. Letter Case Permutation——所有BFS和DFS的题目本质上都可以抽象为tree,这样方便你写代码

    Given a string S, we can transform every letter individually to be lowercase or uppercase to create ...

  6. ZOJ 3956 Course Selection System 背包DP

    ZOJ3956 观察数据范围, c的值非常小 只有100 所以c的和也很有限 只有50000 是否可以从这里下手? 对于某一个c的和 我们一定希望h的和最大 才有可能是最终答案. 于是有了类似背包的d ...

  7. 杂项-Java:JeePlus

    ylbtech-杂项-Java:JeePlus 一个集成了代码生成器的java快速开发框架 1. 介绍返回顶部 1. 响应式开发 JeePlus采用了目前极为流行的扁平化响应式的设计风格,UI框架使用 ...

  8. 数据读进set,进行后处理

    #include <iostream> #include <vector> #include <cstddef> #include <string> # ...

  9. 浅谈C++多态性(转载)

    转载:http://blog.csdn.net/hackbuteer1/article/details/7475622 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言.我们今天就会为大 ...

  10. 13、git

    安装Git 网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGit,linux建议使用Git GUI或者GITK.(windows下载exe安装包,linux可以使 ...