zoukankan      html  css  js  c++  java
  • 暑假自学(24)

    单列模式:只有一个实例,减少了性能的开销
    饿汉式:提前加载,占用空间,但线程安全
    public class SingletonTest1 {
    public static void main(String[] args) {
    Bank bank1 = Bank.getBank();
    Bank bank2 = Bank.getBank();
    System.out.println(bank1 == bank2);
    }
    }
    class Bank {
    private Bank() {

    }
    private static Bank instance = new Bank();

    public static Bank getBank() {
    return instance;
    }
    }
    懒汉式:延迟加载,线程不安全(多线程可改为安全)
    public class SingletonTest2 {
    public static void main(String[] args) {
    Order o1 = Order.getinstance();
    Order o2 = Order.getinstance();
    System.out.println(o1==o2);
    }
    }
    class Order{
    private Order() {}

    private static Order instance = null;

    public static Order getinstance () {
    if(instance == null) {
    instance = new Order();
    }//不进行判断,每次都会重新创建一个对象
    return instance;
    }
    }

    main方法
    可以作为整个函数的入口,也可以是一个可调用的方法

    代码块:类内部的一个成员
    格式:
    {
    }

    static {
    }
    可以初始化类或者对象

    静态代码块:
    内部可以有输出语句
    随着类的加载而执行
    只执行一次
    可以初始化类的信息
    多个静态代码块按先后顺序执行
    静态代码块比非静态代码块执行
    只能调用静态的属性和方法
    非静态代码块:
    内部可以有输出语句
    随着对象的创建而调用
    每创建一个对象就执行一次非静态代码块
    可以在创建对象时,对对象的属性进行初始化
    多个非静态代码块按先后顺序执行
    可调用静态非静态的属性和方法

    public class BlockTest {
    public static void main(String[] args) {
    Person p1 = new Person();
    Person p2 = new Person();
    System.out.println(p1.id);
    System.out.println(p1.desc);
    }
    }

    class Person{
    int id;
    String name;
    static String desc;

    public Person() {
    super();
    }
    static{
    System.out.println("hello_static");
    desc = "111";
    }
    {
    System.out.println("hello");
    id = 111;
    }
    public Person(String name, String desc) {
    super();
    this.name = name;
    this.desc = desc;
    }
    public void eat() {
    System.out.println("吃饭");
    }
    }

  • 相关阅读:
    Linux开发初探
    Linux开发初探
    电脑使用说明书
    电脑使用说明书
    Delegates, Events, and Anonymous Methods 委托、事件与匿名方法
    CSS haslayout
    js与flash结合使用
    sgen.exe" exited with code 1.解决方法
    selenium
    selenium支付高版本的FireFox
  • 原文地址:https://www.cnblogs.com/buxiang-Christina/p/13399989.html
Copyright © 2011-2022 走看看