类变量和类方法相关知识

1.类变量(静态变量)

a)类变量内存布局
ii)类变量存放在堆空间(jdk8以后),方法区(jdk8以前)
ii)静态变量被对象(指的是同一个类的所有对象)共享
ii)类变量在类加载的时候就生成
ii)类变量是类加载时候就创建了,所以我们没有创建对象实例,也可以通过雷鸣,类变量名来访问
ii)生命周期随着类的加载而加载,随着类的消亡而消亡

b)语法
在这里插入图片描述

2类方法

在这里插入图片描述
a)静态方法只能访问静态属性或者静态方法;但可以通过创建一个对象,访问对象里面的方法;
b)类方法不允许使用和对象有关的关键字,如:this、super;
c)普通方法既可以访问静态成员,也可以访问非静态成员。

3.main主方法

a)main是java虚拟机调用,所以只能是public,因为和虚拟机不再同一个类
b)执行main()方法时候是不需要创建对象的,所以,必须是static
c)string类型的数组参数(String[] args),
执行程序的时候可以传入参数,
可以在idea中传入
在这里插入图片描述

4.代码块

随着类的加载而执行,而且只执行一次
a)类什么时候加载
ii)创建对象实例的时候(new)
ii)创建子类的对象实例,父类也会被加载(父类先被加载)
ii)使用类的静态成员时候(静态属性,静态方法);

b)普通代码块是在创建一个对象的时候才会被加载。和类是否加载没有关系

c)新建一个对象时候(没有继承)
在这里插入图片描述

d)子类实例的时候
会先调用super();在调用普通代码块
在这里插入图片描述
e)有继承,也有静态代码块
在这里插入图片描述
ii)bbb继承aaa
ii)new bbb();顺序:
第一步骤:类加载,先加载父类 aaa , 先aaa的静态代码块
第二步骤:加载子类,调用子类bbb的静态代码
第三步骤:对象的创建,先加载父类的构造器,再普通的代码块

5.final 关键字,final修饰通常叫做常量

a)不需要被父类继承,可以给final修饰
b)不希望父类某个方法被重写时候,可以final修饰
c)不希望属性被修改时候(包括局部变量),属性可以final修饰

在这里插入图片描述
d)final不能修饰构造方法
e)final和static往往搭配使用,当这样搭配时候,内存空间不用反复重复申请和释放。
f)包装类、String类都是final类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值