面向对象之成员变量和局部变量

成员变量和局部变量的区别?

A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

注意事项:
局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

class Varialbe {
    //成员变量
    //int num = 10;
    int num; //0

    public void show() {
        //int num2 = 20; //局部变量
        //可能尚未初始化变量num2
        //int num2; //没有默认值
        int num2 = 20;
        System.out.println(num2);

        //int num = 100;
        System.out.println(num);
    }
}

class VariableDemo {
    public static void main(String[] args) {
        Varialbe v = new Varialbe();

        System.out.println(v.num); //访问成员变量

        v.show();    

    }
}
时间: 07-18

面向对象之成员变量和局部变量的相关文章

面向对象(成员变量和局部变量)

/* 成员变量和局部变量. 作用范围. 成员变量作用于整个类中. 局部变量变量作用于函数中,或者语句中.//例如在for循环中 在内存中的位置: 成员变量:在堆内存中,因为对象的存在,才在内存中存在. 局部变量:存在栈内存中. */ //c.color = "blue";改变的不是类中的值,而是改变的对象中的值.就相当于给一个车图上颜色,而不是改变图纸的颜色值.

面向对象_成员变量和局部变量的区别

作用范围: 局部变量作用于函数中或者语句中(定义在函数或语句中(比如for语句),必须初始化) 成员变量作用于整个类中(定义在类中,有默认初始化值,可以定义显示初始化值) 在内存中的位置: 成员变量在堆内存中.因为对象的存在,才在内存中存在. 局部变量在栈内存中. 如果成员变量没有定义显示初始化,那么系统默认会初始化(在堆内存中的变量都会有默认初始化值)byte 0short 0int 0long 0Ldouble 0.0Dfloat 0.0fboolean false引用数据类型默认初始化值都

07_面向对象(成员变量和局部变量区别、类作为形式参数的问题、匿名对象、封装、private关键字、this关键字、构造方法、成员方法、static关键字、静态变量和成员变量、main方法)_02

7:构造方法(掌握)    (1)作用:用于对对象的数据进行初始化    (2)格式:        A:方法名和类名相同        B:没有返回值类型,连void都不能有        C:没有返回值                思考题:构造方法中可不可以有return语句呢?        可以.而是我们写成这个样子就OK了:return;        其实,在任何的void类型的方法的最后你都可以写上:return;    (3)构造方法的注意事项        A:如果我们没写构

面向对象-类-成员变量-局部变量-this

1.能够理解面向对象的思想     面向对象是基于面向过程的编程思想,强调的是对象,由对象去调用功能.它是一种更符合人类习惯的编程思想,可以将复杂的事情简单化,将我们的角色从执行者变成了指挥者. 2.能够明确类与对象关系     类是客观世界中相关事物的基本特征抽象.对象是该类事物的具体体现.比如手机是一个类,而iphone7就是一个对象. 3.定义学生类 public class Student{     //成员变量     String name;     int age; //成员方法 

数组 面向对象 成员变量和局部变量额区别

一.数组 1.数组中常见的错误: 1.NullPointerExcepation : 空指针异常 原因:引用的类型变量没有指向任何的对象,在这种情况下还访问了它的属性和方法. 一个对象如果使用完了不会立马释放,只是将这个对象变为一个垃圾对象,由垃圾回收机制自己来释放.,我们没办法操作它释放. 2.ArrayIndexOutOfBoundsExcepation :数组下表越界. 二.面向对象 1.java也属于面向对象编程 : 2.面向对象的三大特征 : 封装,继承,多态.类,对象. 3.对象 :

6_面向对象基础、成员变量和局部变量的区别

一.面向对象的思想 面向对象特点:(1)更符合我们思想习惯的思想:        (2)可以将复杂的事情简单化:        (3)将我们从执行者变成了指挥者,角色发生了转换. 二.类与对象及其应用 1.事物和类的对应关系   事物      类   属性  ----------成员变量   行为  ----------成员方法 2.成员变量和成员方法   成员变量:和以前定义变量一样,存储位置放生了改变,在类中方法外   成员方法:和以前定义方法一样,只不过去掉了static. 3.类与对象

[Java入门笔记] 面向对象编程基础(三):成员变量和局部变量

在类中,变量根据定义的位置不同,可以分为成员变量和局部变量. 成员变量是在类体内,方法之外定义的变量,局部变量是在方法中定义的参数. 成员变量 成员变量分为类属性和实例属性,定义时没有static修饰的称为实例属性,有static修饰的称为类属性,类属性和实例属性的区别就是类属性是属于类的,它并不属于哪一个对象,它从这个类的准备阶段就一直存在,一直到这个类完全销毁.实例属性属于对象,只有某个对象被创建时,它才被创建,对象被回收,从属于该对象的实例属性也就被销毁了. 类属性的定义语法: [修饰符]

疯狂java学习笔记之面向对象 - 成员变量与局部变量

Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的特点: 没有创建实例前是不会分配内存空间的: 从有实例开始,实例变量就存在了: 实例被销毁,实例变量就不存在了: 0~N个实例变量,程序每创建一个实例,系统就为该实例分配一块内存 类变量的特点: 从有类开始,类变量就存在了,一个JVM中类信息只要一个即可. 每个JVM最多只加载一个类一次,系统就为该

Java中成员变量和局部变量的区别

java面向对象过程中,最基本的两类变量就是成员变量和局部变量 成员变量是写在类中并且写在方法外部,一般写在每个类的头部,用于初始化或者方法操作,作用域是整个类被实例化到被销毁,中间变量都可以被外部方法(权限为public时)或者内部方法所共享使用,并且可以保持变量的值,就是多个方法可以复用该变量,成员变量一般要加权限修饰符,并且定义成员变量的时候系统会给初始值0 而局部变量作用域只在方法内部,当方法调用完毕,该变量也自动消失,并且只有方法本身可以使用,其他方法或类都不能使用该变量,也就是方法本