【Java】韩顺平Java学习日志07——面向对象编程高级级部分——第一部分

类变量(静态变量static)

示例:
在这里插入图片描述
类变量可以通过对象名访问也可以通过类名来访问

内存布局

static变量是被同一个类的所有对象共享,不影响对多态的使用
static类变量是在类加载的时候就生成了
在这里插入图片描述
JDK8之前,静态变量存放在方法区的静态域,JDK8之后,类加载时在堆里生成一个对应的class对象,静态变量存放在此处的class对象实例的尾部

基本介绍

类变量也叫静态变量或静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类,同样任何一个该类的对象去修改它时,修改的也是同一个变量

访问修饰符 static 数据类型 变量名
static 访问修饰符 数据类型 变量名

访问类变量的方法:
1.类名.类变量名//不创建类对象实例也可以访问
2.对象名.类变量名

类变量的访问必须遵守相关的访问权限

使用细节

1.使用时机:当需要让某个类的多有对象都共享一个变量时,就可以考虑使用类变量
2.类变量和实例变量的区别:类变量是该类的所有对象共享的,而实例变量是每个对象独享的
3.有static称为类变量/静态变量,没有static称为实例变量/普通变量/非静态变量/非静态成员变量
4.实例变量(非静态字段) 不能通过类名.变量名的方式访问
5.类变量在类加载时就初始化了,也就是说,即使没有创建对象。只要类加载了,就可以使用类变量了
6.类变量的生命周期是随着类的加载开始,随着类消亡而销毁

类方法

基本介绍

类方法也叫静态方法

访问修饰符 static 数据返回类型 方法名(){
   }
static 访问修饰符 数据返回类型 方法名(){
   }

类方法的调用:
1.类名.类方法名
2.对象名.类方法名

当方法使用了static修饰后,该方法就是静态方法,静态方法可以访问静态属性/变量
类名也可以调用静态方法

经典使用场景

当方法中不涉及到任何和对象相关的成员,则可以将方法设计成静态方法,提高开发效率
如果希望不创建实例,也可以带哦用某个方法(即当作工具来使用),此时,把方法做成静态方法非常便捷
将通用方法设计成静态方法,这样不需要创建对象就可以使用该方法(用于开发自己的工具类,方便调用)

使用细节

1.类方法和普通方法都是随着类的加载而加载,将结构信息存储在方法区:类方法中无this的参数,普通方法隐含着this的参数
2.类方法可以通过类名调用,也可以通过对象名调用
3.普通方法和对象有关,需要通过对象名调用,不能通过类名调用
4.类方法不允许使用和对象有关的关键字,比如this和super,普通方法(成员方法)可以
5.类方法只能访问静态变量或静态方法
6.普通成员方法,既可以访问普通成员,也可以访问静态成员

总结:非静态方法可以访问所有的成员(静态成员和非静态成员),静态方法只能访问静态成员,同时必须遵循访问权限

main方法

语法说明

public static void main(String[] args){
   }

1.main方法是虚拟机调用
2.Java虚拟机需要调用类的main方法,所以该方法的访问权限必须是public
3.Java虚拟机在执行main()方法是不必创建对象,所以该方法的访问权限必须是static
4.该方法接收String类型的数组参数,该数组保存执行Java命令时传递给所允许的类的参数
5.java 执行的程序 参数1 参数2 参数3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值