总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似。

1.多胞胎名字汇总辨析

成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称,成员方法亦如是。java类的成员变量包括实例变量和类变量,成员方法包括实例方法和类方法。

那么,什么是实例变量和类变量呢?

从名字分析:

实例变量,是新建了实例后才能用的变量。

类变量,是不用新建实例,直接通过类来调用的变量。特点是用static修饰。所以它们还有个响当当的名字,叫静态变量,静态方法。

至此,这些多胞胎名字就搞清楚了:成员变量最大,包括实例变量和类变量,类变量=静态变量。

2.实例变量与类变量不同:

实例变量是类实例化后,系统为其创建的一个类的实例变量的拷贝,即一个实例拥有一个实例变量。

类变量则是用static声明,系统为每个类变量分配一次存储空间。即所有的实例共享一个类变量。

3.使用方法(概括:自个儿管自个儿)

(1)实例方法可以直接访问实例变量,调用实例方法;

(2) 实例方法可以直接访问类变量,调用类方法。但不推荐这么做,原因是不清晰,容易把类变量误认为是实例变量,把类方法误认为是实例方法(借助IDE,它会给出警告信息。);

(3)类方法可以直接调用类变量和类方法;

(4)类方法不能直接调用实例变量和实例方法;

(5)类方法里面不能使用“this”关键字,因为没有实例存在,“this”不知道引用哪个实例。

---------------------

作者:SprinLa

来源:CSDN

原文:https://blog.csdn.net/youyaecho/article/details/51188392

版权声明:本文为博主原创文章,转载请附上博文链接!

java实例变量成员变量_Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法...相关推荐

  1. 反射创建对象_如何应用Java反射技术灵活地创建程序类的对象实例

    软件项目实训及课程设计指导--如何应用Java反射技术灵活地创建程序类的对象实例 1.如何应用属性配置文件实现对系统中的配置信息进行读写操作 Java中的属性配置文件主要可以作为软件应用系统及项目的配 ...

  2. 基类成员函数和派生类成员函数不构成重载

    基类成员和派生类成员的名字一样时会造成遮蔽,这句话对于成员变量很好理解,对于成员函数要引起注意,不管函数的参数如何,只要名字一样就会造成遮蔽.换句话说,基类成员函数和派生类成员函数不会构成重载,如果派 ...

  3. java修饰符默认_Java的类,方法,变量等等的默认修饰符是什么

    访问控制修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java支持4种不同的访问权限. 默认的,也称为default,在同一包内可见,不使用任何修饰符. 私有的,以pr ...

  4. java 成员函数_Java继承中成员变量和成员函数的覆盖

    关于继承中变量和方法的覆盖: 1, 与基类中同名的变量,会被派生类所覆盖(同时存在但是有独立的值),直接取值将是派生类的值,但是基类的变量也是同时存在的.如果通过派生类函数访问,得到派生类的值.如果通 ...

  5. java成员修饰词 友好的_Java的类成员访问权限修饰词(以及类访问权限)

    在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public.其权 ...

  6. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

    面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...

  7. 实例变量和类变量、实例方法类方法区别

    实例变量 实例变量声明在一个类中,但在方法.构造方法和语句块之外: 当一个对象被实例化之后,每个实例变量的值就跟着确定: 实例变量在对象创建的时候创建,在对象被销毁的时候销毁: 实例变量的值应该至少被 ...

  8. python的实例属性和静态属性表_Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法...

    类属性可以直接在方法中赋值,但 一.调用该属性时,必须先调用该方法: 二.与 init 方法区别是,init方法只初始化一次,初始化完成后作为全局变量.在方法中赋值属性,每次调用该方法,该属性初始化一 ...

  9. python中实例和对象的区别,python类对象和实例对象有什么区别吗

    python类对象和实例对象有什么区别吗 发布时间:2020-07-20 14:10:37 来源:亿速云 阅读:119 作者:清晨 这篇文章主要介绍python类对象和实例对象有什么区别吗,文中介绍的 ...

最新文章

  1. VC获取系统时间、程序运行时间
  2. CIO黄嘉粤谈互联网金融与CIO发展
  3. 低代码可视化报表开源工具,只要在线拖拽就能做出复杂数据报表
  4. python自动生成excel报表
  5. quot;愿有人陪你颠沛流离|Be With Youquot;
  6. Why Spring Boot
  7. 在显示器上面看到Lo的时候应该怎么想呢?一种可能的解释
  8. java - 朴素贝叶斯
  9. leetcode 375. Guess Number Higher or Lower II | 375. 猜数字大小 II(动态规划思路总结)
  10. 团队-游戏《石头,剪刀,布》-团队一阶段互评
  11. java实现愤怒的小鸟游戏
  12. scan——Theano中循环的实现
  13. SEO和SEM的区别
  14. c++数组、结构体数组和对象数组的初始化方式
  15. php网易云信im即时通讯和聊天室
  16. 高德地图JS--批量规划步行路线 优化
  17. 设置 Google Analytics(分析)全局网站统计代码
  18. 三大门户二十年,中国互联网踏上新征程
  19. 私域增长 | 私域会员:9大连锁行业15个案例集锦
  20. linux webmail发送邮件,C# 邮件发送方法【webMail方式】

热门文章

  1. Python操作Rabbit MQ的5种模式
  2. vue双向绑定原理源码解析
  3. ubuntu下zip文件操作
  4. background-position 详解
  5. 线程中的同步辅助类Exchanger
  6. linux环境下获取真实的ip地址
  7. 路由网址这是mvc时代系列之三:网络路由与ASP.NET MVC生命周期(上)路由网址
  8. Nocalhost: 云原生开发新体验
  9. linux内核网络协议栈--linux网络设备理解(十三)
  10. leetcode算法题--最大整除子集