Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量
首先看个例子:
package zm.demo;
public class Demo {
private int Id;//成员变量(字段)、实例变量(表示该Id变量既属于成员变量又属于实例变量)
private String name;//成员变量(字段)、实例变量
public int age;//成员变量(字段)、实例变量(这里用来举例子,在实际中一般都会设置为private)
public static final String mood = "开心";//成员变量(公共字段)、常量
private static String height = "都很高";//成员变量(字段)、类变量(静态变量)
public void study() {//普通方法
String study = "learning";//局部变量
}
public int getId() {//id的可读属性
return Id;
}
public void setId(int id) {//id的可写属性
Id = id;
}
public String getName() {//name的可读属性
return name;
}
public void setName(String name) {//name的可写属性
this.name = name;
}
public int getAge() {//age的可读属性
return age;
}
public void setAge(int age) {//age的可写属性
this.age = age;
}
}
1.成员变量:作用范围是整个类,相当于C语言中的全局变量,定义在方法体和语句块之外,一般定义在类的声明之下;成员变量包括:实例变量、类变量(又叫静态变量)和常量。
2.局部变量:作用范围在它定义的方法体或者语句块内部,出了这个范围就无效了。
3.实例变量:不用static修饰的成员变量,随对象的创建而创建,每个对象都有自己的独有的实例变量,属于对象私有;调用要实例化对象,用对象名.实例变量名才可以调用,如:Demo demo = new Demo(); int YouAge = demo.age;(当然,一般都会将成员变量设为private,通过属性方法调用)。
4.静态变量:用static修饰的成员变量,又叫类变量,一个类里只有一份,属于对象共有,调用是一般用类名.静态变量名就可以调用,或者用对象名.静态变量名也可以调用,调用的都是同一个变量,如:Demo.height。
5.类变量:和静态变量是同一个概念。
6.常量:用static final修饰的成员变量叫常量,在类中也是只有一份,同时不可以修改它的值。
7.字段:通常是在类中定义的成员变量,所以也和成员变量的概念差不多是一个意思。
8.属性:属性是只局限于类中方法的声明,不与其他的类成员相关。只与类中的get()/set()方法有关。
如果类中有这样的getX()/setX()方法,我们就可以说类中有可以读写的x属性(如果getXY()/setXY()方法后面的Y是小写,就叫xy属性,如果Y是大写,就叫XY属性),如:
public int getId() {//id的可读属性
return Id;
}
public void setId(int id) {//id的可写属性
Id = id;
}
我们就说Demo类有可读写的id属性,只有getId(),没有setId(),我们就说有可读的id属性,只有setId(),没有getId(),我们就说有可写的id属性。
总结:
该Demo类中有:5个字段、3个可读写属性、5个成员变量、1个局部变量、3个实例变量、1个静态变量(类变量)和1个常量。
Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量的更多相关文章
- Java中的属性与字段的区别
Java中属性和字段的区别 Java中的属性,通常可以理解为其属名性时根据get和set方法名得出的. 其规则是:去掉get或set后其剩余的字符串,如果第二个字母是小写的,则把第一个字母也变成小写 ...
- 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)
方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&q ...
- 局部变量存储区域静态变量存储区域static变量存储区域
局部变量存储区域静态变量存储区域static变量存储区域 常见的存储区域可分为: 1.栈 由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 2.堆 ...
- Java中实例方法,实例变量,静态方法,静态变量,final方法重写的问题,覆盖
Java中只有非私有的实例方法能被重写,即实现多态,子类可以覆盖父类的方法,但是实例变量不能覆盖,若子类和父类均定义了同样名称的变量,则对于子类来说这是两个不同的变量,要想调用父类的变量必须显示去调用 ...
- java中static修改成员变量和函数和其他使用
一.通过static修饰的成员变量初始化只会初始化一次 //静态变量初始化只会初始化一次 public class zuishuai { public static void main(String[ ...
- Java中的异常处理从概念到实例
1.概念 采用新的异常处理机制 在以往的程序开发过程中,经常采用返回值进行处理.例如,在编写一个方法,可以返回一个状态代码,调用者根据状态代码判定出错与否.若状态代码表示一个错误,则调用这进行相应的处 ...
- JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?
本文主要记录:在JAVA中,(局部)内部类访问某个局部变量,为什么这个局部变量一定需要用final 关键字修饰? 首先,什么是局部变量?这里的局部是:在方法里面定义的变量. 因此,内部类能够访问某局部 ...
- Java中字段赋值顺序的问题
static字段 public class Client { public static int i = 2; static { i = 100; } public static void main( ...
- Java中的mutable和immutable对象实例讲解
1.mutable(可变)和immutable(不可变)类型的区别 可变类型的对象:提供了可以改变其内部数据值的操作,其内部的值可以被重新更改. 不可变数据类型:其内部的操作不会改变内部的值,一旦试图 ...
随机推荐
- 从零开始学Shell(二)
$1,$2....${10},${11},[root@localhost cee]# cat p.sh #!/bin/bash#file_name:p.shecho $1 $2[root@localh ...
- Android开发 ---实现ListView的A-Z字母排序和过滤搜索功能
效果图: 1.activity.xml 描述: 线性布局中一个层叠布局 <?xml version="1.0" encoding="utf-8"?> ...
- PL/SQL修改数据之后,程序查到的还是原来的数据怎么办?
我们在开发的过程中,可能需要手动删除或者修改数据库数据,但是在update之后,程序还是查到的是原始的数据.而我们自己在pl/sql中查到的确实修改之后的数据,通常情况下这个是因为我们在修改之后没有c ...
- SharePoint REST API - 使用REST API和jQuery上传一个文件
博客地址:http://blog.csdn.net/FoxDave 本篇主要通过两个代码示例来展示如何应用REST API和jQuery上传文件到SharePoint. 示例会使用REST接口和j ...
- idea设置代码块
转:https://blog.csdn.net/boy_Kenny/article/details/55223078?utm_source=blogxgwz4 idea设置代码块 1.代码模板场景介绍 ...
- 自动化测试-15.selenium单选框与复选框状态判断
本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...
- selenium+grid做分布式测试
一.grid介绍 1.本文用的是selenium-server-standalone-3.8.1.jar 2.Firefox用的55版本和对应的驱动 二.grid使用流程说明比如有个A机器,作用是hu ...
- Homebrew简介及安装,Mac 包管理
Homebrew简介及安装 Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两 ...
- Floodlight1.2+Mininet的安装及使用
直接转载的大神的,亲测Ubuntu16.04版本没问题 https://www.sdnlab.com/19189.html
- Introduction of filter in servlet
官方给出的Filter的定义是在请求一个资源或者从一个资源返回信息的时候执行过滤操作的插件.我们使用过滤起最多的场景估计就是在请求和返回时候的字符集转换,或者权限控制,比如一个用户没有登录不能请求某些 ...