在实例中说明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.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...
随机推荐
- 操作系统开发系列—4.LDT
一直以来,我们把所有的段描述符都放在GDT中,而不管它属于内核还是用户程序,为了有效地在任务之间实施隔离,处理器建议每个任务都应当具有自己的描述符表,称为局部描述符表LDT,并且把专属于自己的那些段放 ...
- iOS7 edgesForExtendedLayout -- 解决冲突 / 系统偏移
今天在做UISearchBar,UISearchDisplayController时遇到了一个问题,在点击搜索栏时阴影部分的位置出现偏差 如下图: 始终觉得很奇怪,后面单独做了一个demo,将同样的代 ...
- socket编程中服务器端常用函数 以及简单实现
1 常用函数 1.1 socket() int socket(int family, int type, int protocol); socket()打开一个网络通讯端口,如果成功的话,返回一个 ...
- iOS & Mac JSON To Model
NSString * jsonPath=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Cont ...
- sql 2012 sequence 速记
CodeSELECT id INTO #t1 FROM sys_id WHERE id < 3 SELECT next value for sequencebase FROM #t1 DROP ...
- 转:无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
今天看到一篇文章感觉不错,收藏转载下. 原文地址:http://blog.csdn.net/sntyy/article/details/2090347 版权为原作者所有 无法向会话状态服务器发出会话状 ...
- 软工_Alpha阶段事后分析总计
1.设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要解决狼人杀玩家在游戏时的一些痛点.因为之前自己对于游戏中那些不方便的地方有过体 ...
- Web API在OWIN下实现OAuth
OAuth(Open Authorization) 为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码), ...
- Android 自定义Application
在android中 自定义Application 常用的作用是1 保存在程序运行中的全局变量 实例:public class GlobalApp extends Application{ privat ...
- Druid 介绍及配置
1. Druid是什么? Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. 2. 在哪里下载druid 正式版本下载:maven中央仓库: http://cent ...