zoukankan      html  css  js  c++  java
  • java 构造函数 , 参数传递 , lamda表达式

    1.  java 子类中必须显式或者隐式的调用父类的构造方法,原因是双亲委派机制。java 在创建一个对象是,会在构造方法中依次向上调用父类的构造方法。

     为了找到父类的构造方法,所以子类应显式或者隐式的调用父类的构造方法 .

    显式: 构造方法的第一行super(n..)  n 个参数 

    隐式: 子对象构造方法会默认调用父类的无参构造方法,即super(). 所以父类中如果没有无参构造,则子类必须显式的调用父类的有参构造方法。

    2. java 参数传递的正常理解: java 包装对象参数是引用传递,那么方法中改变参数的属性值,即等同改变原参数。 但如果是方法中改变参数的引用地址后,

    并不会对原参数造成影响。 原因是: 对象分为两部分,参数名和参数值地址。引用传递是指将参数值地址传递给方法参数。所以改变参数对象中的属性,等同

    改变引用地址的对象属性。 如果改变参数的引用地址,就失去了对原参数值地址引用,这时再去改变属性,就不会影响原参数了。

    3. lamda 表达式:

    lamda 表达式只能用于函数式接口,即@FunctionInterface注解的接口。 该接口只能有一个抽象方法。所以不能是抽象类。 

    匿名内部类则没有必须是接口,必须只有一个抽象方法的要求,而且使用匿名内部类会在编译后产生$1.class 等文件。

  • 相关阅读:
    Tiling_easy version
    Children’s Queue
    hdu 彼岸
    最小公倍数和最大公约数问题
    hdu 神、上帝以及老天爷
    统计问题
    不容易系列之(3)—— LELE的RPG难题
    hdu 折线分割平面
    hdu Counting Triangles
    Queuing
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/12620557.html
Copyright © 2011-2022 走看看