zoukankan      html  css  js  c++  java
  • Think in java 笔记

    1.Java中唯一用到逗号操作符的地方——for循环  for(int i = 0,length = array.legnth;i < length;i ++)

    2.创建子类对象时执行顺序:将分配给对象的内存初始化为0——父类静态域——子类静态域——父类普通域——父类构造方法——子类普通域——子类构造方法

    3.可变参数列表:public void method(Object...args),可以代表0个参数,实质是数组

    4.前期绑定,后期绑定

    5.运行时类似识别(RTTI)  :向下转型(Downcast);反射机制

    6.抽象类可以没有抽象方法,可以有构造方法

    7.接口的域默认时static和final的

    8.Scanner构造器接受实现Readable接口的类的实例

    9.代理模式,适配器模式,工厂模式

    10.内部类

    普通内部类实例化对象:Outter.Inner in = out.new Inner();

    静态内部类实例化对象:Outter.Inner in = new Outter.Inner();

    内部类使用外部类对象:Outter.this

    内部类和静态内部类在用到时才会加载,静态内部类适合单例模式

    public class Singleton {  
        private Singleton() {}  
          
        static class SingletonHolder {  
            private static final Singleton instance = new Singleton();  
        }  
          
        public static Singleton getInstance() {  
            return SingletonHolder.instance;  
        }  
    }  

    如果仅通过Outter.StaticInner调用静态内部类的静态变量或静态方法(与Outter无关的)则不会触发Outter的加载,只会加载StaticInner

    Lambda表达式

    用来简化实现函数式接口(只有一个方法的接口)的代码,由  (参数列表)  ->  方法体或者表达式  组成,其中如果只有一个参数的话括号可以省去,例如:

    Runnable race1 = new Runnable() { 
        @Override 
        public void run() { 
            System.out.println("Hello world !"); 
        } 
    };

    Lambda实现:Runnable race1 = ()->System.out.println("Hello world!");

    Comparator<String> c = new Comparator<>(){

    @Override

      public int compare(Stirng a,String b){

        return a.compareTo(b);

      }

    };

    Lambda实现Comparator c = (a,b)->a.compareTo(b);

    11.动态代理,Proxy类,InvocationHandler接口

    12.泛型擦除,运行时会擦除到其第一个边界

    13.nio ,内存映射文件,ZIP,GZIP,对象序列化

    14.枚举,enum Test{FIRST,SECOND,THIRD}; 其中Test为枚举名,和类名差不多,FIRST等时Test的枚举实例 Test extends Enum<Test>

  • 相关阅读:
    June. 26th 2018, Week 26th. Tuesday
    June. 25th 2018, Week 26th. Monday
    June. 24th 2018, Week 26th. Sunday
    June. 23rd 2018, Week 25th. Saturday
    June. 22 2018, Week 25th. Friday
    June. 21 2018, Week 25th. Thursday
    June. 20 2018, Week 25th. Wednesday
    【2018.10.11 C与C++基础】C Preprocessor的功能及缺陷(草稿)
    June.19 2018, Week 25th Tuesday
    June 18. 2018, Week 25th. Monday
  • 原文地址:https://www.cnblogs.com/xiao-ji-xiang/p/9840240.html
Copyright © 2011-2022 走看看