A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 呆呆的小呆 中级黑马   /  2016-7-4 00:22  /  494 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面向对象中的静态和非静态怎么区别和使用

2 个回复

倒序浏览
静态什么?静态有成员方法和成员属性,它们都是随着类的加载而加载的,加载在内存的方法区中的静态区中;而静态只能调用静态,不能调用非静态的成员方法和属性;静态类似于属于所有成员共有的,是先于对象存在的,所以不能调用类中非静态的属性和方法;而非静态的属性和方法是可以调用静态的。
回复 使用道具 举报
本帖最后由 wangyeake 于 2016-7-4 10:56 编辑

最明显的区分就是用static修饰的变量和方法属于静态。静态变量常用在对一个想共享的变量进行修饰。比如如果我们修饰的对象的国籍都相同,那么就可以这样修饰。调用时可以用 类名.成员变量名。
静态方法:
成员变量:只能访问静态变量,静态变量属于类,所以也称为类变量
成员方法:只能访问静态成员方法
非静态方法:
成员变量:可以是静态的,也可以是非静态的。
成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
简单记:
静态只能访问静态。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马