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.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
随机推荐
- Linux服务的安装与使用
Spotlight on Unix 监控Linux服务器的安装与使用 详细请看:https://spotlight-on-unix.software.informer.com/download/#do ...
- 日志数据如何同步到MaxCompute
摘要:日常工作中,企业需要将通过ECS.容器.移动端.开源软件.网站服务.JS等接入的实时日志数据进行应用开发.包括对日志实时查询与分析.采集与消费.数据清洗与流计算.数据仓库对接等场景.本次分享主要 ...
- php pow()函数 语法
php pow()函数 语法 作用:pow()函数的作用是将一个数进行n次方计算后返回,广东大理石平台 语法:pow(X,Y); 参数: 参数 描述 X 要做处理的数字 Y 指定n次方中的n数值 说明 ...
- vue之条件语句小结
vue之条件语句小结 v-if, v-else 随机生成一个数字,判断是否大于0.5,然后输出对应信息: <!DOCTYPE html> <html> <head> ...
- [BZOJ1572] WorkScheduling
中文题目:工作安排 原文题目:Work Scheduling 传送门 本题可以采用贪心 算法一:按工作时间排序,如果工作能按时完成的工作就按时完成,如果工作不能按时完成就把之前价值最小的工作和当前作比 ...
- vue绑定属性、绑定class及绑定style
1.绑定属性 v-bind 或者 : 例如:<img :src="pic_src" /> <template> <div id="app& ...
- linux从head.s到start_kernelstart_kernel之---内核重定位后分析
参考: https://biscuitos.github.io/blog/ARM-BOOT/ zImage 重定位之后实践 zImage 重定位之后,ARM 将 pc 指针指向了重定位 zImage ...
- 如何消去delphi Stringgrid重绘时产生重影
procedure TForm1.Stringgrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGrid ...
- Mutable and Immutable Variables in Python
本文解决python中比较令人困惑的一个小问题:传递到函数中的参数若在函数中进行了重新赋值,对于函数外的原变量有何影响.看一个小栗子: def fun(a): a=2 return a=1 fun(a ...
- JavaScript 盖尔-沙普利算法
最近在学 JavaScript , 为了尽快熟悉语法,决定移植以前写的盖尔-沙普利算法. c# 下的代码:https://www.cnblogs.com/aitong/p/10973774.html ...