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. Javascript为元素添加事件处理函数

    document.getElementById("test").onclick = function(){ ... };

  2. CSS background-position 用法详细介绍

    语法: background-position : length || length background-position : position || position 取值: length  : ...

  3. dba诊断之IO

    --查看占用系统io较大的session   SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program ...

  4. [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)

    本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...

  5. 我是如何来做网站优化(Seo)的?(一)

    谈及网站优化(Seo)及搜索引擎优化,很多站长朋友都觉得发发外联就可以了,至少有一部分人是这样认为的. 这里唐建鹏博客将系统的从零开始学习网站优化(Seo),来解析如何从头包装我们的网络门户. 什么是 ...

  6. Python+excel实现的简单接口自动化 V0.1

    好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态” ...

  7. bzoj-4517 4517: [Sdoi2016]排列计数(组合数学)

    题目链接: 4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 846  Solved: 530[Submit][ ...

  8. 常用Meta整理

    标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web 服务. ——W3School 必要属性 ...

  9. [No000063]Python格式化输出

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  10. angular $http配置属性

    $http请求的配置对象 $http()接受的配置对象可以包含以下属性: method:http请求方式,可以为GET,DELETE,HEAD,JSONP,POST,PUT url:字符串,请求的目标 ...