1.Constructor running order of Base class and Derived class

This is Alibaba's audition problem.

 class A{
     A(int x){
         System.out.println(x);
     }
 }
 class B{
     A m=new A(1);
     B(){
         m=new A(2);
     }
 }
 class C extends B{
     A n=new A(3);
     C(){
         n=new A(4);
     }
 }
 public class ali {
     public static void main(String[]args){
         new C();
     }
 }

output :

1

2

3

4

java Is different from C#.

java:Base class first

  Base class member define.

  Base class constructor

  Derived class member define.

  Derived class constructor.

C#:member define first

  Base class member define.

  Derived class member define.

  Base class constructor.

  Derived class constructor.

2.Derived class constructor will call Base class  constructor.

//子类的构造函数会调用父类构造函数
class one {
    public one(){
        System.out.println("one");
    }
}
class two extends one{
    public two (){
        System.out.println("two");
    }
    public two(String s){
        System.out.println("two "+s);
    }
}
class three extends two{
    public three(){
        this("haha");
        System.out.println("three");
    }
    public three(String s){
        super("haha");
        System.out.println("three "+s);
    }
}
public class Construct {
  public static void main(String[]args){
      new three();
  }
}

3.i++

4.

5.

6.接口继承

interface A{
    int n=3;
    void fun();
}
interface B{
    int n=3;//都是final类型的默认。
    void fun();
}
class C implements A,B{
    public C(){
        //n=4;//wrong ,ambiguous二义性
        //A.n=4;//wrong,final 类型不可赋值
    }
    public void fun(){//函数不会有二义性,只要有这个函数,就算实现了借口

    }
}
public class InterfaceTest {
    public static void main(String[]args){
        new C().fun();
    }
}

Java Little Knowledge的更多相关文章

  1. 10 Things Every Java Programmer Should Know about String

    String in Java is very special class and most frequently used class as well. There are lot many thin ...

  2. Java 集合系列(四)—— ListIterator 源码分析

    以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比   Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素.  Iterator 包含四个方法 ...

  3. Java 集合系列(三)—— LinkedList

    以脑图的形式来展示Java集合知识,让零碎知识点形成体系 LinkedList    LinkedList是一种可以在任何位置进行高效地插入和删除操作的有序序列.   它的最基本存储结构是一个节点:每 ...

  4. Java 集合系列(二)—— ArrayList

    ArrayList ArrayList 是通过一个数组来实现的,因此它是在连续的存储位置存放对象的引用,只不过它比 Array 更智能,能够根据集合长度进行自动扩容. 假设让我们来实现一个简单的能够自 ...

  5. java_对象序列化、反序列化

    1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...

  6. Linux一些错误总结

    1.cannot verify <mydomainname> certificate, issued by '/C=US/O=Let's Encrypt/CN=R3': 解决1:wget ...

  7. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  8. Java Knowledge series 4

    JVM & Bytecode Has-a or Is-a relationship(inheritance or composition) 如果想利用新类内部一个现有类的特性,而不想使用它的接 ...

  9. Knowledge Point 20180506 深究Java的跨平台特性

    本章主题:从骨子里看Java的跨平台;本文内容部分摘自https://www.cnblogs.com/roger-yu/p/5827452.html 有过基础Java知识的开发人员都知道Java是跨平 ...

随机推荐

  1. RabbitMQ与Redis队列对比

    本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比具体采用什么方式实现,还需要取决于系统的实际需求 简要介绍 RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中 ...

  2. 使用jquery合并表格中相同文本的相邻单元格

    一.效果 二.代码 <!DOCTYPE HTML> <html> <head> <title>Example</title> <met ...

  3. linux tar命令简介

    一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...

  4. 跟我一起写 Makefile

    转自 陈皓 的博客:http://blog.csdn.net/haoel/article/details/2886 1. 概述 2. 关于程序的编译和链接 3. Makefile 介绍 4. Make ...

  5. selenium结合sikuliX操作Flash网页

    sikuli的官网地址:http://www.sikuli.org 首先下载sikuliX的jar包:https://launchpad.net/sikuli/sikulix/1.1.0 java-d ...

  6. 1.使用using释放资源

    using语句有二个关键字 >>作为关键字,using可以导入命名空间 >>作为C#语句,using可以释放对象占用的内存资源 语法: using(SqlConnection ...

  7. 多个mysql解决方法

    有的时候工作需要之类的,需要多个mysql数据库,而默认开启的服务为c盘windows里的my.ini 1.设置好要用的my.ini2.关闭当前的mysql数据库服务3.将my.ini拷贝到C:\WI ...

  8. Eclipse调整双击选取的字符颜色背景

    Eclipse调整双击选取的字符颜色背景,如下图所示: 会有二点影响: 1. 编辑页的颜色 2. 右侧滚动条的小提示点的颜色.

  9. 作业——FoodTracker程序

    作业及学习地址:https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSw ...

  10. 如何用 CSS 做到完全垂直居中

    本文将教你一个很有用的技巧——如何使用 CSS 做到完全的垂直居中.我们都知道 margin:0 auto; 的样式能让元素水平居中,而 margin: auto; 却不能做到垂直居中……直到现在.但 ...