Java面向对象篇(五)——final、代码块、包

一.final

1.何为final关键字?

它是一个修饰符,代表最终的意思,可以修饰变量,类,方法。

2.何为final关键字的特点?

1.被final关键字修饰的变量是常量。
2.被final修饰的类不能被继承。
3.被final修饰的成员方法不能被重写。

3.final的注意事项?

如果一个成员变量,在被定义的时候,并没有给初始值,会编译报错,我们必须给其赋值。

赋值方法:

1.显示初始化。
2.有参构造赋值。

实例:

public class final02 {
	public static void main(String[] args)
	{
		Dog01 d = new Dog01(14);
		System.out.println(d.age);
	}
}

class Dog01
{
	//显示初始化
	final int abc = 10;
	//有参构造赋值
	final int age;
	public Dog01(int age)
	{
		this.age = age;
	}
}

二.代码块

1.何为代码块?

由一对花括号括号起来的,就称为代码块。

2.代码块的分类?

局部代码块
构造代码块
静态代码块
同步代码块

3.局部代码块

何为局部代码块?

定义在方法中的代码,就称为局部代码块。

class Demo {
	public void print() {
		{
		//局部代码块。
		}
	}
}

局部代码块的作用是什么?

能够让局部变量,更早的在内存中消失,节省内存空间。

4.构造代码块

何为构造代码块?

定义在类中,方法外的代码块,就称为构造代码块。

class Demo {
	{
	 	//构造代码块。
	}
	public void print() {}
}

构造代码块的作用是什么?

构造代码块是在创建对象的时候执行,并且是优先于构造方法先执行。

实例:

public class Demo {
	public static void main(String[] args) {
		Child c1 = new Child();
	}
}

class Child {
	{
		System.out.println("哭");
	}
	
	public Child() {
		//System.out.println("哭");
	}
}

5.静态代码块

何为静态代码块?

被静态修饰的构造代码块,就称为静态代码块。

实例:

class Demo {
	static {} //静态代码块
	public void print() {}
}

静态代码块的作用是什么?

给数据进行初始化,当数据只需要被初始化一次的时候,之后可以重复使用的时候,就可以使用静态代码块。

  1. 静态代码块是什么时候执行的?

当.class文件从本地磁盘加载到方法区中形成字节码文件对象的时候,静态代码块会随之执行。

  1. 为什么静态代码块只会执行一次?

因为字节码文件只加载一次,并且优先于所有的对象存在于内存中,比构造方法先执行。

三.包

1.何为包?

就是文件夹。

2.怎么创建包?

在这里插入图片描述

3.包命名规则?

包名都是小写的英文字母。

4.如何导包?

import 包名.类名

实例:
在这里插入图片描述

四.结束语:

本篇文章可作为基础复习一遍,内容比较简单,通俗易懂。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿界的小皮皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值