成员变量和方法的区别?

举报
负债程序猿 发表于 2022/02/19 22:27:12 2022/02/19
【摘要】 成员变量有两种: 实例变量类变量(也称静态变量,静态域) 成员方法有三种: 实例方法类方法(也称静态方法)构造方法(无返回值,方法名和类名一致) 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。