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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用类名调用类的成员,和用类对象调用类的成员有什么区别,分别是什么时候用

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
能调用类的方法的就两种方式:一种类名调用,即类名.方法,但是这个要求被调用的方法必须是静态的。第二种就是常见的,建立类的对象进行调用。可以这样理解,静态方法在内存中是在static区里单独存在,而一般定义的普通方法则在堆里属于具体对象,所以调用普通方法时属于具体对象,就必须通过对象来调用,而static不属于具体对象,但是属于具体类,所以通过类名来调用就可以了!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
直接用类名调用类中的成员变量和 成员方法时,必须被static修饰,被static修饰的成员变量和成员方法在类加载时就保存到静态方法区中去了,所以直接用类名调用被static修饰的成员变量和成员方法编译时就不会报错。而没有被static修饰的成员变量和成员方法就必须通过new对象的方式进行调用。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
类名调用成员方法或者变量有一个前提
那就是方法或者变量必须是静态的,static修饰的
格式是:类名.方法名称(变量名称)
类对象调用是一个类调用另一个类的方法或者变量的唯一途径,
让两个类先发生关联后才可以调用,对象可以形象的认为就是中间的桥梁
先new要调用类的对象,然后再通过对象去调用需要操作的方法或变量

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
恩,明白了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马