CodeBlock 基本使用

简介: 基本介绍代码块又称为初始化块,属于类中的成员【即是类的一部分,类似于方法,讲逻辑语句封装在方法体中,通过{}包围起来】和方法不同,没有方法名,没有返回值,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时或创建对象时隐式调用。

基本介绍

代码块又称为初始化块,属于类中的成员【即是类的一部分,类似于方法,讲逻辑语句封装在方法体中,通过{}包围起来】

和方法不同,没有方法名,没有返回值,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时或创建对象时隐式调用。


基本语法

[修饰符]{
  代码
}

注意:

  • 修饰符可选,要写的话,也只能写static
  • 代码块分为两类,使用static修饰符的叫静态代码块没有static修饰的叫普通代码块
  • 逻辑语句可以为任何逻辑语句
  • ;号可以写上,也可以省略

使用:把一些相同的语句,放入一个代码块中即可,这样当我们不管调用那个构造器,创建对象,都会调用代码块的内容

静态成员变量和静态代码块(static{})只有在类被调用的时候才会初始化。

解释:

  • 这里是指在运行时真正被使用到才会被初始化,如果是在编译时被使用到,但在运行时没有使用到也不会被初始化,比如上面的case5。

静态内部类只有当被外部类调用到的时候才会初始化。

解释:

  • 这里也是指在运行时,也就是说不在于你在编辑器中有没有写调用的代码,而是你写的这段调用代码运行时是否会被真正执行到。在只使用了外部类,但是没有使用内部类的情况下,内部类里面的东西不会被初始化。

电影案例

看电影案例演示普通代码块作用、static静态代码块作用

/**
 * @Description: 测试类 测试 DodeBlock  使用
 * @auther:Li Ya Hui
 * @Time:2021年4月22日上午8:20:50
 */
public class Test {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    movie m1 = new movie("你好,李焕英!");
    movie m2 = new movie("送你一朵小红花",100);
    movie m3 = new movie("唐探三",200,"陈思成");
  }
}
class movie
{
  private String filmname;//电影名
  private int price; //票单价
  private String driector;//导演
  {//一些必须的代码块,相同的代码块
    System.out.println("...................................................................");
    System.out.println("电影开始了...");
    System.out.println("广告开始了...");
  }
  //优先级最高
  static{   
    System.out.println();
    System.out.println("河北软件豪华电影MAX厅");
    System.out.println();
  }
  //只构造电影名
  public movie(String filmname) {
    this.filmname=filmname;
    System.out.println(filmname+"电影正式开始!");
  }
  //构造电影名,票单价
  public movie(String filmname, int price) {
    this.filmname = filmname;
    this.price = price;
    System.out.println(filmname+"电影正式开始!");
  }
  //构造电影名,票单价,导演
  public movie(String filmname, int price, String driector) {
    this.filmname = filmname;
    this.price = price;
    this.driector = driector;
    System.out.println(filmname+"电影正式开始!");
  }
}
目录
相关文章
|
6月前
最新jsonwebtoken-jjwt 0.12.3 基本使用
最新jsonwebtoken-jjwt 0.12.3 基本使用
535 0
|
6月前
|
API
Vue3进阶5个小知识点 附带源码
Vue3进阶5个小知识点 附带源码
56 0
|
3月前
iouring基本使用
iouring基本使用
55 0
|
3月前
|
网络安全 Perl
Nikto——基本使用
Nikto——基本使用
57 0
|
5月前
|
XML Java 数据格式
Acitiviti7基本使用- 2、Servcie服务接口介绍
Acitiviti7基本使用- 2、Servcie服务接口介绍
|
6月前
|
存储 缓存 Java
【scoop】安装及基本使用
【scoop】安装及基本使用
471 0
|
6月前
|
存储 NoSQL 定位技术
RedisGEO的基本使用
对GEO的基本介绍
|
JavaScript 算法 前端开发
【Vue 快速入门系列】列表的基本使用
【Vue 快速入门系列】列表的基本使用
【Vue 快速入门系列】列表的基本使用
|
Go
基本使用
基本使用
84 0
|
存储 开发者 Python
列表的基本使用|学习笔记
快速学习列表的基本使用