092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 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、如果要访问同一个类中的静态成员,只能通过对象实例化后,通过对象名.成员名(包括成员属性和成员方法)的方式访问非静态成员