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.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
随机推荐
- $emit 和 $on 进行平行组件之间的传值
效果图: 注:$emit 和 $on 的事件必须在一个公共的实例上,才能够触发: $emit 触发 $on 接收 需求: 1.有A.B.C三个组件,同时挂载到入口组件中: 2.将A组件中的数据传递到C ...
- [转]Windows 10 无法访问共享的解决办法大全
本文前面介绍 Windows 10 操作系统无法访问其他电脑的共享文件夹,而其他电脑访问该共享可以访问的解决办法. 简单点说就是,你的操作系统是 Win10 ,你访问不了某台电脑的共享,但是别人可以. ...
- flask中间件请求流程
from flask import Flask,session,url_for,request,flash,get_flashed_messages app = Flask(__name__) app ...
- [CSP-S模拟测试]:蔬菜(二维莫队)
题目描述 小$C$在家中开垦了一块菜地,可以抽象成一个$r\times c$大小的矩形区域,菜地的每个位置都种着一种蔬菜.秋天到了,小$C$家的菜地丰收了. 小$C$拟定了$q$种采摘蔬菜的计划,计划 ...
- android 关联某些后缀使用app打开
<intent-filter> <action android:name="android.intent.action.VIEW" /> <categ ...
- delphi vlc 安装bug 处理编译错误"0" is an invalid value for the "DebugInformation" parameter of the "DCC"
处理编译错误"0" is an invalid value for the "DebugInformation" parameter of the "DCC" [摘要:http://blog.csdn ...
- 牛客 在其他数都出现k次的数组中找到出现1次的数
题目链接:https://www.nowcoder.com/practice/26e46f1f5e0d48c4b9ba13fe3e8d0ec6?tpId=101&tqId=33216& ...
- asp.net的处理机制(.ashx/.aspx)
浅谈自己对asp.net 处理机制的图解 图解的内容有点多(包含asp.net 的处理机制和页面生命周期的重要事件,建议小伙伴把图片下载查看可好?) asp.net处理机制解说 当浏览器发送一条请求给 ...
- 解决产生的空白行
<script> var a=document.body.innerHTML; document.body.innerHTML=a.replace(/\ufeff/g,''); </ ...
- linux下用户切换
Linux学习使用ubuntu17,ubuntu安装的时候没有超级用户root的密码. 设置系统root用户的密码,Ubuntu刚安装后,因为root没有默认密码,需要手动设定.以安装ubuntu时输 ...