Java基础学习——代码块、static、final

前言

nskswl加油~


static

  • static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。
  • static修饰:属性、方法、代码块、内部类
  • static修饰属性:静态变量(类变量):
    1. 我们创建类类的多个对象,多个对象共享一个静态变量。当通过某个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过的。
    2. static修饰属性的其他说明:静态变量随着类的加载而加载;静态变量的加载早于对象的创建;可以通过类名调用;由于类只会加载一次,则静态变量在内存中也只会存在一份,存在于方法区的静态域中。
  • static修饰方法:静态方法
    1. 可以通过类名调用
    2. 静态方法中,只能调用静态的方法或属性;非静态方法中,两者的属性和方法都能调用。
  • 在静态的方法中,不能使用this、super关键字。
单例设计模式
  • 定义:采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。
  • 如何实现?1. 私有化类的构造器 2. 内部创建类的对象 3. 提供公共的静态方法,返回类的对象 4. 要求此对象声明也必须是静态的(饿汉式)

main方法

  • main()方法作为程序的入口
  • main()方法也是一个普通的静态方法
  • main()方法也可以作为我们和控制台交互的方式

代码块(初始化块)

  • 代码块的作用:用来初始化类、对象
  • 代码块如果有修饰的话,只能用static修饰
  • 静态代码块 vs 非静态代码块
    1. 静态代码块和非静态代码块都可以有内部输出语句
    2. 静态代码块随着类的加载而执行,且只执行一次;非静态代码块随着对象的加载而执行,且随对象个数改变。
    3. 静态代码块作用:可以对类的静态属性初始化。非静态代码块作用:可以在创建对象时,对对象的属性初始化。
    4. 如果一个类中定义了多个静态代码块,则按照定义的先后顺序执行。

final

final可以修饰的结构:类、方法、变量

  • final修饰一个类:此类不能被其他类继承。
  • final修饰一个方法:此方法不可以被重写
  • final修饰一个变量:此时的“变量”就成为一个常量
    1. final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器初始化
    final修饰属性
    2. final修饰局部变量:尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参,一旦赋值以后,就只能在方法体内使用此形参,不能重新赋值。public void show(final int num)
  • static final :用来修饰属性:全局常量。

ending~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值