092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

本文知识点:static关键字(中)

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

static关键字(中)

static在属性前修饰,称之为:静态属性、类属性

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

类方法调用和类属性调用类似

2种方式

方式1、对象.方法

方式2、类.方法

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

推荐采用方式2

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

注意:1、static不能修饰类

可以有静态属性、静态方法、但是不能有静态类

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

静态方法编写方法体的特殊要求

普通成员方法

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

静态方法

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

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

092 01 Android 零基础入门  02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门  02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

总结:

1、静态方法中不能直接访问同一个类中得分非静态成员,只能直接调用同一个类中的静态成员

2、如果要访问同一个类中的静态成员,只能通过对象实例化后,通过对象名.成员名(包括成员属性和成员方法)的方式访问非静态成员

上一篇:使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能


下一篇:linux crontab定时执行