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的类变量,成员变量和局部变量的更多相关文章

  1. 【java基础】成员变量和局部变量

    成员变量和局部变量 根据定义变量位置的不同,可以将变量分为成员变量和局部变量        成员变量是在类范围内定义的变量        局部变量是在一个方法内定义的变量   成员变量可以分为:   ...

  2. 【java基础】成员变量和局部变量02

    成员变量和局部变量(2) 成员变量的初始化和内存中的运行机制         当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值. package object; ...

  3. java类的成员变量和局部变量的区别

    转自:https://jingyan.baidu.com/article/03b2f78c1ba2d05ea237ae9b.html 在类中位置不同:成员变量:在类中方法外.局部变量:在方法定义中或者 ...

  4. java基础之成员变量与局部变量

    成员变量的含义 局部变量的含义 成员变量与局部变量的区别

  5. Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量

    首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) p ...

  6. 【Java基础】成员变量和局部变量的区别

    在类中的位置不同 成员变量:在类内部方法外部 局部变量:在方法体内部定义的或者方法的参数中定义的在内存中的位置不同 成员变量:在堆内存,有初始化值,byte,short,int,long->0, ...

  7. 第3章 Java语言基础----成员变量与局部变量

    在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...

  8. Java 成员变量和局部变量

    1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...

  9. Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法

    总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...

随机推荐

  1. UIButton的titleEdgeInsets属性和imageEdgeInsets属性实现图片文字按要求排列

    button可以设置 titleEdgeInsets属性和 imageEdgeInsets属性来调整其image和label相对位置,具体参考http://stackoverflow.com/ques ...

  2. CoreDataStack

  3. Android ANR产生的原理和如何避免

    在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框.用户可以选择 ...

  4. tomcat <context path>的意义及作用

    context path 是在tomcat 要支持多个应用时对每个应用的docBase做区别时的区分符. 打个比方假如你有两个请求:一个为 http:localhost:8080/test1/hell ...

  5. 【代码笔记】iOS-对iphone手机进行判断的一些函数

    代码: #import "RootViewController.h" //为判断手机的型号 -(NSString*)deviceString添加头文件 #import " ...

  6. 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题

    前言 这个问题在之前做一个盒子项目时遇到过,最近又遇到了,使用GridView遇到的非常奇葩的问题,这里记录分享一下. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnb ...

  7. NSDate 格式化 NSDate to NSString

    NSLog(@"%@",[NSDate stringFromDate:[NSDate date] withFormat:@"yyyyMMdd__HH_mm_ss_zzz& ...

  8. php多文件上传数组 转换

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><meta ...

  9. 安全攻防之SQL注入(通过sqlmap搞定所有问题)

    第一步: sqlmap基于Python,所以首先下载: http://yunpan.cn/QiCBLZtGGTa7U  访问密码 c26e 第二步: 安装Python,将sqlmap解压到Python ...

  10. stringstream操纵string小总结

    1 split字符串 之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组.在用C++操纵字符串的时候,我一直使用很笨的遍历的方法.为此,我问候过很多次C+ ...