成员变量和方法的区别?
【摘要】
成员变量有两种:
实例变量类变量(也称静态变量,静态域)
成员方法有三种:
实例方法类方法(也称静态方法)构造方法(无返回值,方法名和类名一致)
public class Person {
...
成员变量有两种:
- 实例变量
- 类变量(也称静态变量,静态域)
成员方法有三种:
- 实例方法
- 类方法(也称静态方法)
- 构造方法(无返回值,方法名和类名一致)
public class Person {
public static final int defaultAge = 18;//常量,类编译时放到常量池
public static int age = 18;//类变量,在类加载的准备阶段,分配到方法区
private String like;//实例变量,在类被实例化时,分配到堆中
//静态模块
static {
System.out.println("唱 跳 rap 篮球");
}
//类方法,分配到方法区
static int getAge() {
return age;
}
public Person() {
//类的构造方法
}
//实例方法,分配到方法区
public String getLike() {
return like;
}
//实例方法
public void setLike(String like) {
this.like = like;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
类变量的特点:
它是该类所有实例共享的属性,在内存中只有一个地方存储这个变量(在方法区)。在类加载的准备阶段,分配到方法区,初始化阶段正式赋值。
所有实例都可以修改这个类变量的值。(前提是没有被final修饰) 。
访问类变量不用实例化对象,直接通过类可以使用。
生命周期取决于类的生命周期。
类方法的特点:
直接通过类就可以调用。
类方法可以直接调用类变量和类方法。
类方法不可以直接调用实例变量和实例方法。
类方法没有this,因为没有实例。
实例变量和实例方法的特点:
都必须通过实例对象才可以访问。(实例变量位于堆中,生命周期取决于实例的生命周期)
文章来源: huangjie.blog.csdn.net,作者:负债程序猿,版权归原作者所有,如需转载,请联系作者。
原文链接:huangjie.blog.csdn.net/article/details/114026206
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)