008单例、继承、final

内容:单例,类继承,final

##########################################################################################################################

1、单例设计模式(23中设计模式之一)
解决的问题:保证一个类的对象在内存中的唯一性,也就是这种类只有一个对象
应用场景:只有一个对象,一个程序使用后,另外一个程序才使用。

class Danli
{
    public static void main(String[] args) 
    {
        Single s;
        s = Single.getInstance();
    }
}

class Single
{
    //创建一个本类的对象
    static Single s = new Single();

    //构造函数私有化
    private Single(){}

    //定义一个方法返回该对象
    static Single getInstance()
    {
        return s;
    }
}
饿汉式

饿汉式:该类加载进内存的时候就创建对象,急于创建对象,就叫饿汉式

class Danli
{
    public static void main(String[] args) 
    {
        Single s;
        s = Single.getInstance();
    }
}

class Single
{
    //创建一个本类的对象
    static Single s = null;

    //构造函数私有化
    private Single(){}

    //定义一个方法返回该对象
    static Single getInstance()
    {
        if(s == null){
            s = new Single();
        }
        return s;
    }
}
懒汉式

懒汉式:该类加载进内存的时候没有创建对象,到调用getInstance()方法才创建对象,比较懒,就叫懒汉式

静态方法通过类名就可以调用。

###################################################################################################

2、继承

Java支持单继承,不直接支持多继承。
父类私有化只能通过父类访问。
调用子类的构造函数用this(参数名称);调用父类的方法用super(参数名称);
子类所有构造函数第一行默认有个super();语句,,,,this就没有super,因为另外一个构造函数里面有super();

之前做笔记比较少,现在理解了很多就没有在补充了。

#######################################################################################################

3、final关键字

  1)可以修饰类、方法、变量

  2)final修饰的类不能被继承

  3)final修饰的方法不能被覆盖

  4)final修饰的变量是常量,只能赋值一次

通常修饰不能被修改的变量,最简单的就是圆周率。

原文地址:https://www.cnblogs.com/-nbloser/p/8609592.html