Java学习笔记(六)修饰词,接口

本文介绍了Java中的静态修饰符,包括静态成员变量、静态方法和静态代码块的使用及在JVM内存中的加载时机。接着讲解了final关键字的作用,并探讨了接口的概念,将其与特殊抽象类对比,阐述接口中的元素及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.static:静态的

1)修饰成员变量 - 静态成员变量

  静态成员变量
    1.属于类的
    2.使用: 类名.变量名  调用
    3.静态成员变量只有一个,只加载一次
    4.被多个对象所共用

普通成员变量
    1.属于对象
    2.使用:   对象.变量名  调用
    3.有几个对象就有几个成员变量

2)修饰成员方法

1.只要加了static关键词,都是属于类的
2.属于类
3.使用:   类名.方法名
4.在普通方法中:可以使用静态成员变量和静态成员方法
5.在静态方法中:成员变量和成员方法都不可直接使用
    因为都是属于对象的

3)修饰代码块 - 静态代码块

1.三种使用类的情况都会使用到静态代码块
   并且是在使用前调用静态代码块
2.静态代码块只加载一次
3.作用:提高 程序执行效率
   只需要执行一次的东西放在静态代码块中

代码块:在构造方法之前执行的
作用:提取所有构造方法的公共部分
初始化成员变量

静态代码块和静态成员变量谁先执行:谁先写谁先执行

JVM内存:

xx.java -> xx.class -> 类加载 
->静态成员变量会跟类一起加载到方法区中

总结:在使用静态变量时,类的对象不一定创建(不一定存在),
     所以类的静态成员变量最好不要放在构造器中初始化

类什么时候加载:
第一次使用类时,使用前必须进行类加载

使用类的情况:
1.创建类的对象
2.调用静态的成员变量
3.调用静态的成员方法

有父子类关系的代码块 和 构造方法 和 静态代码块的执行顺序:

父类的静态代码块 -> 子类的静态代码块 -> 父类的代码块 -> 构造方法 -> 子类的代码块 -> 子类的构造方法

2.final - 最后的

final可以修饰: 类/成员变量/局部变量/成员方法

1)修饰变量:不可被修改
	局部变量:
		1.值不可变
		2.使用前必须初始化
	成员变量:
		1.值不可变
		2.使用前必须初始化
 
	基本数据类型:值不可变
	引用数据类型:
		堆中的地址值不可变,但是引用对象的内容可变

2)成员方法: 不可被重写
3)类:不可被继承

3.接口:

1)可以把接口理解成一个特殊的抽象类
实际上接口是一个 引用类型

2)接口中可以放什么

a.无论任何版本都可以放
	1.抽象方法
	2.静态常量
	
b.jdk1.8以后
	1.静态方法
		只能通过接口调用 ->   接口名.方法名
	2.默认方法
		作用:做功能的扩展
c.jdk1.9以后
	1.私有方法
		普通私有方法: 提取接口中默认方法的公共部分
        	实现代码的复用
    	静态私有方法: 提取静态方法中公共部分
        	实现代码的复用

3)接口的使用步骤

a.因为接口不能new 对象,所以需要创建一个接口的实现类
public class 实现类 implements 接口

b.重写覆盖(实现)接口中所有的抽象方法
b.在主方法中创建实现类的对象,调用重写过的抽象方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值