在实例中说明java的类变量,成员变量和局部变量
java中一般有三种变量:类变量,成员变量和局部变量。类变量
1.下面先看类变量,看下面这个例子
public class Demo6{
public String name;
public int age;
public static String sex="男";
public Demo6(String name, int age){
this.name = name;
this.age = age;;
}
public void say(){
System.out.println("我的名字是"+name+",我今年"+age+"岁.");
}
public static void main(String args[]){
Demo6 obj = new Demo6("alex",25);
obj.say();
System.out.println("我是"+sex+"生");
// System.out.println("我今年"+age+"岁");
}
}
类变量可以无需实例化便可访问(ps:如果一个实例改掉了类变量的值,其他实例调用此类变量值时也是改动后的)
如果去掉注释
System.out.println("我今年"+age+"岁");
,则会报错:Error:(19, 34) java: /Users/lsf/IdeaProjects/JavaPractice/src/Demo6.java:19: 无法从静态上下文中引用非静态 变量 age
2.接下来来看成员变量和局部变量,还是看这个例子,做一点小改动
public class Demo6{
public String name;
public int age;
public static String sex="男";
public Demo6(String name1, int age){
this.name = name1;
this.age = age;;
}
public void say(){
System.out.println("我的名字是"+name+",我今年"+age+"岁.");
// System.out.println("我的名字是"+name1+",我今年"+age+"岁.");
}
public static void main(String args[]){
Demo6 obj = new Demo6("alex",25);
obj.say();
System.out.println("我是"+sex+"生");
}
}
当执行下面这句时结果是正确的:
System.out.println("我的名字是"+name+",我今年"+age+"岁.");
这是因为name是成员变量,在整个实例中有效。而name1是局部变量,只在方法体内有效,如果像下面这样直接调用name1,则会报错
System.out.println("我的名字是"+name1+",我今年"+age+"岁.");
报错信息为:
Error:(13, 36) java:找不到符号
符号: 变量 name1
位置: 类 Demo6
在实例中说明java的类变量,成员变量和局部变量的更多相关文章
- 【java基础】成员变量和局部变量
成员变量和局部变量 根据定义变量位置的不同,可以将变量分为成员变量和局部变量 成员变量是在类范围内定义的变量 局部变量是在一个方法内定义的变量 成员变量可以分为: ...
- 【java基础】成员变量和局部变量02
成员变量和局部变量(2) 成员变量的初始化和内存中的运行机制 当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值. package object; ...
- java类的成员变量和局部变量的区别
转自:https://jingyan.baidu.com/article/03b2f78c1ba2d05ea237ae9b.html 在类中位置不同:成员变量:在类中方法外.局部变量:在方法定义中或者 ...
- java基础之成员变量与局部变量
成员变量的含义 局部变量的含义 成员变量与局部变量的区别
- Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量
首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) p ...
- 【Java基础】成员变量和局部变量的区别
在类中的位置不同 成员变量:在类内部方法外部 局部变量:在方法体内部定义的或者方法的参数中定义的在内存中的位置不同 成员变量:在堆内存,有初始化值,byte,short,int,long->0, ...
- 第3章 Java语言基础----成员变量与局部变量
在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...
- Java 成员变量和局部变量
1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...
- Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法
总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
随机推荐
- 扫描项目里没有使用的图片mac工具,删除没有使用的图片以减小包的体积
[链接]netyouli/WHC_ScanUnreferenceImageToolhttps://github.com/netyouli/WHC_ScanUnreferenceImageTool
- Android开发框架--AndroidAnnotations(一)
annotation:注解 什么是框架 框架是基石 android开发中哪些内容可以做成框架呢 网络模块 图片缓存模块 数据库模块 UI基础模块 开发框架给我们带来了哪些好处 提升开发效率 代码简洁 ...
- redis数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- 从多个XML文档中读取数据用于显示webapi帮助文档
前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...
- 最受欢迎的Java第三方库
前言 翻译自programcreek: 典型的Java项目通常会依赖一些第三方库,本文总结了一些最受欢迎的Java库,这些类库在各种应用程序中被广泛使用: 当然,Java SDK是最广泛使用的Java ...
- 5个示例带你学习AngularJS
直到现在,你或许已经听说过AngularJS了,一个改变你对web应用思考方式,由谷歌开发的令人兴奋的开源框架.关于它的文章已经写得非常之多,但我发现还是要写些给那些更喜欢快速且实际例子的开发者.当今 ...
- 【Android】apk文件反编译
工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baid ...
- MDX函数(官方顺序,带示例)
MDX函数(官方顺序) 1. AddCalculatedMembers (MDX) 返回通过将计算成员添加到指定集而生成的集. 语法: AddCalculatedMembers(Set_Expres ...
- Servlet/JSP-03 HttpServlet
一. GenericServlet GenericServlet本身是一个抽象类,并且实现了Servlet和ServletConfig接口 其在内部定义了一个私有的ServletConfig类型的变量 ...
- CentOS 7.2 安装 Docker 1.12.3 版
本文出自http://www.cnblogs.com/scoter2008 1.强大的官方文档 https://docs.docker.com/engine/installation/linux/ce ...