类和对象

引用

我一直以来忽略的内容.
String x = new String();
其中的x是一个引用.指向new出来的对象.
java中存在引用和对象的概念,它们均对应于类.但引用仅仅只是指向.一个对象可以被多个引用指向.引用也可以改变指向的对象.

单例模式

饿汉式:

public class Single{
 
    //私有化构造方法使得该类无法在外部通过new 进行实例化
    private Single(){
         
    }
 
    //准备一个类属性,指向一个实例化对象。 因为是类属性,所以只有一个
 
    private static Single instance = new Single();
     
    //public static 方法,提供给调用者获取12行定义的对象
    public static Single getInstance(){
        return instance;
    }
     
}

懒汉式 被调用才创建

public class Single{
  
    //私有化构造方法使得该类无法在外部通过new 进行实例化
    private Single(){       
    }
  
    //准备一个类属性,用于指向一个实例化对象,但是暂时指向null
    private static Single instance;
      
    //public static 方法,返回实例对象
    public static Single getInstance(){
        //第一次访问的时候,发现instance没有指向任何对象,这时实例化一个对象
        if(null==instance){
            instance = new Single ();
        }
        //返回 instance指向的对象
        return instance;
    }
      
}

枚举类

public enum Season {
	SPRING,SUMMER,AUTUMN,WINTER
}

equals和==

equals可以自定义重写.

    public boolean equals(Object o){
        if(o instanceof Hero){
            Hero h = (Hero) o;
            return this.hp == h.hp;
        }
        return false;
    }

而==表示指向同一个对象

垃圾回收

Object类有一个finalize()方法.
当一个对象不在有引用指向.就满足被回收的条件,java虚拟机会将它回收.

默认方法

JDK8新增特性.接口可以提供具体方法了.

public interface abc{
    public void a1;
    default public void a1(){
        System.out.printlen("hello world");
    }
}

参考资料
how2j

posted on 2019-08-11 19:18  Best_Efforts  阅读(120)  评论(0编辑  收藏  举报

导航