博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你猜这个题输出啥?-- java基础概念
阅读量:4957 次
发布时间:2019-06-12

本文共 1642 字,大约阅读时间需要 5 分钟。

  最近在看java编程思想,大部分内容都觉得没啥意思,但是突然看到一个基本概念(似乎都忘了),于是写了测试题,我想这辈子也不会忘这个概念了。

  题目如下:

public class Suber extends Last {    public Suber() {        //测试是否会调用父类构造方法    }    public Suber(int i) {        System.out.println("Suber(" + i + ")");  //测试父类是否会调用相同参数的该构造方法    }    public Suber(String i) {        super.CommonBase(i + "-su");      //测试直接调用父类指定的方法效果        System.out.println("Suber(" + i + ")");    }    public static void main(String[] args) {        Suber suber = new Suber();        System.out.println("==============main================");        Suber s2 = new Suber(1);        System.out.println("==============main=============");        Suber s3 = new Suber("3");        System.out.println("==============main=============");    }}class Base1 {    public Base1() {        System.out.println("Base1");    }}class CommonBase1 extends Base1 {    public CommonBase1() {        System.out.println("CommonBase1");    }    public void CommonBase(String i) {        System.out.println("CommonBase1(" + i + ")");    }}class Last extends CommonBase1 {    public Last() {        System.out.println("Last");    }    public Last(int i) {        System.out.println("Last(" + i + ")");    }}

 

  当我把这个题出给我的码农朋友看的时候,他们的第一反应是:谁TM写的代码,可读性也太差,要求重构。

  但是说到具体输出结果时,他们还是有点怀疑的。

  是的,咱们现在都是走的高级路线了,对于基础的东西,还真不一定把握得准。

  结果如下:

Base1CommonBase1Last==============main================Base1CommonBase1LastSuber(1)==============main=============Base1CommonBase1LastCommonBase1(3-su)Suber(3)==============main=============
View Code

  结果解释: 一句话,初始化子类时,会默认调用父类的默认构造方法,原因是为了检查父类是否语法正确!!!

 

  好吧,基础的东西,记一下得了,说不定面试的时候就遇到了呢!

转载于:https://www.cnblogs.com/yougewe/p/7109364.html

你可能感兴趣的文章
『ORACLE』 内置约束(11g)
查看>>
Vue--学习过程中遇到的坑
查看>>
组件:slot插槽
查看>>
.net压缩图片质量(附demo)
查看>>
equals和==的区别
查看>>
Android6.0指纹识别开发
查看>>
java反射机制剖析(二)— Class Loader
查看>>
走进C++程序世界------异常处理
查看>>
通过用户模型,对数据库进行增删改查操作。
查看>>
去除数组中重复的元素
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1988 Cube Stacking
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>
Android------三种监听OnTouchListener、OnLongClickListener同时实现即其中返回值true或者false的含义...
查看>>
MATLAB实现多元线性回归预测
查看>>
Mac xcode 配置OpenGL
查看>>
利用sed把一行的文本文件改成每句一行
查看>>
使用Asyncio的Coroutine来实现一个有限状态机
查看>>
Android应用开发:核心技术解析与最佳实践pdf
查看>>