092 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
本文知识点:static关键字(中)
说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步。
static关键字(中)
static在属性前修饰,称之为:静态属性、类属性

同理,static在方法前修饰,方法就由普通的成员方法变为了类方法 。称之为:静态方法、类方法

类方法调用和类属性调用类似
2种方式
方式1、对象.方法
方式2、类.方法

推荐采用方式2

static除了修饰属性、修饰方法还能修饰什么?

注意:1、static不能修饰类
可以有静态属性、静态方法、但是不能有静态类



注意:2、static不能修饰方法内的局部变量

静态方法编写方法体的特殊要求
普通成员方法
普通成员方法可以调用同一个类中其他的成员方法,可以为成员属性(包括静态属性)赋值等等……




静态方法


静态方法的方法体中不能 直接 访问非静态成员(包括属性和方法),只能 直接 访问静态成员
静态方法的方法体中不能 直接 访问非静态成员方法,只能 直接 访问静态方法

静态方法的方法体中不能 直接 访问非静态成员属性,只能 直接 访问静态属性


static代表类共享,而this代表当前实例,所以static和this冲突,在static方法中,不能使用this关键字。

静态static方法中可以访问静态static属性

那静态方法中如何访问 间接 非静态方法呢?

总结:
1、静态方法中不能直接访问同一个类中得分非静态成员,只能直接调用同一个类中的静态成员
2、如果要访问同一个类中的静态成员,只能通过对象实例化后,通过对象名.成员名(包括成员属性和成员方法)的方式访问非静态成员

浙公网安备 33010602011771号