java中的成员变量、类变量,成员方法、类方法 属性和方法区别
成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。
类变量:静态域,静态字段,或叫静态变量,它属于该类所有实例共有的属性。而且所有的实例都可以修改这个类变量的值(这个类变量没有被final修饰的情况),而且访问类变量的时候不用实例,直接用类名.的方式就可以。
成员方法:包括实例方法和类方法,用static的方法就是类方法,不用static修饰的就是实例方法。实例方法必须在创建实例之后才可以调用。
类方法:和类变量一样,可以不用实例,直接用类就可以调用类方法。类方法这不是一个名词,只是单纯的类中描述的一个方法。加了static的方法,在程序中只运行一次,比如你两次实例化对象了,但你实际上只调用了一次static标识的方法。
在定义类时,经常需要抽象出它的属性,并定义在类的主体中。下面就来介绍与属性相关的内容。
常量属性
在类中定义的属性有常量属性和成员属性之分。常量属性用final关键字修饰,常量只能赋值一次,在程序中不能修改它的值。一般来说,在类中定义的常量属性用大写字母命名。
成员属性
成员属性是抽象出来的类属性,成员属性不能直接被外部访问或修改,需要通过get和set方法来访问或修改属性值,成员属性一般用private关键字修改,表明为私有成员,禁止外部直接访问。
成员属性的作用范围为整个类文件,作用范围就是成员属性的有效工作范围,在整个类文件中,成员属性都可以被访问和使用。
(1)使用默认值初始化
Java为声明的成员属性或变量提供了默认初始化机制,当声明成员属性或变量时即使没有显式赋值,Java也会为以下类型的成员属性或变量提供默认值:
2)使用显式值初始化
声明成员属性的同时,进行赋值。
3)使用类构造方法初始化
通过类构造方法来初始化属性(类构造方法后面介绍)
成员变量
变量前面已经介绍过了,变量的主要作用是存储程序运行过程中的临时数据,程序退出后,变量存储的内容不再存在。在类体中声明的变量称为成员变量。
成员变量的作用范围为整个类文件,在整个类文件中,成员变量都可以被访问和使用
与成员属性不同的是,成员变量无需提供get和set方法。成员变量一般用于类内部存储临时数据使用。
局部变量
在类方法体中声明的变量为局部变量。
局部变量的作用范围为方法体,在方法体中,局部变量可以被访问和使用,局部变量在方法体外无效,不能被访问和使用。
Java类的成员属性和成员变量有所区别,成员属性是类所表述事物的共同特征,成员属性不能被外部直接访问和修改,必须通过类提供的get和set方法访问和修改成员属性。成员变量一般用于类内部存储临时数据使用,不需要提供get和set方法。
请说明类成员属性、成员变量、局部变量的区别。
java中的成员变量、类变量,成员方法、类方法 属性和方法区别的更多相关文章
- Java学习笔记十五:Java中的成员变量和局部变量
Java中的成员变量和局部变量 一:成员变量: 成员变量在类中定义,用来描述对象将要有什么 成员变量可以被本类的方法使用,也可以被其他类的方法使用,成员变量的作用域在整个类内部都是可见的 二:局部变量 ...
- JAVA中类以及成员变量和成员方法的修饰符的总结
一 类的修饰符 java中的文件结构由大到小为:一个工程,一个工程下可以有许多包,每个包中可以有许多类. 类的修饰符分为 访问权限修饰符 和 ...
- java中的成员变量和局部变量区别
1.作用域不同 成员变量的作用域在整个类内部都是可见,可用的: 局部变量的作用域仅限于定义它的方法,不能被其它方法调用: 2.初始值不同 java会给成员变量一个初始值,初始值为0: java不会给局 ...
- java中的成员变量、静态变量与局部变量
java中的变量分为成员变量(又叫实例变量).静态变量和局部变量. 1.成员变量 1.1 成员变量(实例变量)是在类中定义的非static修饰的变量,可以不用赋初始值,不同的数据类型有默认的初始值. ...
- java中的成员变量和局部变量的区别
成员变量: 在类体里面定义的变量叫做成员变量: 如果在变量有static关键字修饰,就叫作静态变量或类变量: 如果该变量没有static关键字修饰,就叫作非静态变量或实例变量: 局部变量: 方法内定义 ...
- JAVA中的成员变量与局部变量
package com.imooc; //1.定义一个类 public class Telphone { //2.属性(成员变量)有什么 float screen; float cpu; float ...
- java中如何通过Class获取类的属性、方法、注释
public static String getPKName(Class clazz) { Field[] fields = clazz.getDeclaredFields(); for (Field ...
- Android中的成员变量与局部变量
简单说一下吧, note:java中的成员变量就是c++中的全局变量 1.可以在全局范围内使用:局部变量只能在其定义的方法里使用. 2.成员变量可以不赋初值使用,调用时有系统的默认的初值,比如int类 ...
- Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法
总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
随机推荐
- Testng报错:method-selectors?,parameter*,groups?,packages?,classes?
以上的报错信息有两种可能的原因: 1.xml的格式确实有误 2.xml的格式正确,但是工程中testng的jar包不止一个,从而导致有歧义或者冲突(这个很可能发生在同一个workspace有多个工程的 ...
- sqlserver 中的时间算法
DECLARE @Date DATETIME SET @Date=GETDATE() --前一天,给定日期的前一天 ,@Date) AS '前一天' --后一天,给定日期的后一天 ,@Date) AS ...
- PHP curl_copy_handle函数
curl_copy_handle — 复制一个cURL句柄和它的所有选项 说明 resource curl_copy_handle ( resource $ch ) 复制一个cURL句柄并保持相同的选 ...
- 【LeetCode 96】不同的二叉搜索树
题目链接 [题解] 我们可以枚举这棵树的根节点在i处. 现在问题就变成. 1..i-1这i-1个节点组成的树和i+1..n这n-i个节点组成的树的个数的问题了. 假设他们俩的结果分别是cnt1和cnt ...
- Linux0.11内核源码——内核态进程切换的改进
本来想自己写的,但是发现了一篇十分优秀的博客 https://www.cnblogs.com/tradoff/p/5734582.html system_call的源码解析:https://blog. ...
- Linux测试端口的连通性的四种方法
目录 1.telnet 2.ssh 3.crul 4.wget 方法一.telnet telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法 ...
- 使用juqery-ui完成联想查询功能
最近公司的项目有个需求,需要使用联想查询功能.就是一个文本输入框,在输入的时候获取值去后端模糊查询然后按照列表显示在下面.效果如下图: 经过搜索找到这个插件,查阅资料可以完成这个功能,即可以实现静态数 ...
- CentOS 如何将.deb 文件 转换.rpm, centos安装deb包
CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz yum install alien [root@loc ...
- Linux启动详细过程(开机启动顺序)
启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘 ...
- spring data jpa 使用方法命名规则查询
按照Spring Data JPA 定义的规则,查询方法以findBy开头,涉及条件查询时,条件的属性用条件关键字连接,要注意的是:条件属性首字母需大写.框架在进行方法名解析时,会先把方法名多余的前缀 ...