黑马程序员_java中代码块的概念--单态设计模式

  1. 代码块 :使用{} 括起来的一段代码块,根据不同的位置可以分为普通代码块、构造块、静态代码块、静态代码块
    1.1 普通代码块:直接定义在方法中的代码块
    1.2 构造块:直接在类中编写的代码块—–优先于构造方法执行
    1.3 静态代码块:用static 关键字声明的代码块(主方法中的静态块最先执行)
    1.4 同步代码块——待续
    1.5 执行的顺序—– 主方法中的静态代码块(一次并且优先于主方法运行)—类中的静态代码块(一次)—-构造块(多次)—构造函数(多次)
    1.6 一个有趣的例子:
 class NewDemo
  {
      static {
      System.out.println("Hello,World");-----没有主方法运行,JDK7以后都不可以

      System.exit(1);
      }
  }

这个的编译时没有错的 ,但是运行时有错,运行结果如下:
这里写图片描述

 class NewDemo
  {

public static void main(String args[]){
    System.out.println("主函数的代码块");

}
      static {
      System.out.println("主方法中的静态块");

          }
  }

运行的结果为:
这里写图片描述

 class NewDemo
  {

public static void main(String args[]){
    System.out.println("主函数的代码块");

}
      static {
      System.out.println("主方法中的静态块");------从这里可以看出 静态块里的内容优先于主方法运行

      }
  }

运行的结果为:
这里写图片描述
构造方法私有化的目的—-单态设计模式
构造方法的私有化 就是为了只产生一个对象——-这就是常用的单态设计模式
这里写图片描述

1.1 构造方法私有化之后就只能通过内部取得实例化 —-问题转换为 取得内部实例化的对象
1.2 内部实现了实例化之后如何取得?—-只有实例化以后我才可以调用类中的属性和方法
1.3 要想实现不实例化之前就取得 类里面的方法或者属性—–使用静态方法
1.4 为了实现属性的封装性 —-使用静态方法来获取静态属性
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值