成员变量和局部变量

定义类其实就是在定义类中的成员

  成员: 成员变量<-->属性,  成员函数<-->行为

 

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

1. 成员变量定义在类中,整个类中都可以访问

  局部变量定义在函数、语句、局部代码块中,只在所属的区域有效

 

2. 成员变量存在于堆内存的对象中。

  局部变量存在于栈内存的方法中。

 

3.(存活时间不同) 

成员变量随着对象的创建而存在,随着对象的消失而消失。

局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。

 

4.

成员变量都有默认的初始化值。

局部变量没有默认的初始化值。

 

 

 

class Car{

int num;

String color;

void run(){

    System.err.println(num+"..."+color);

}

}

public class CarDemo {

 

    

    public static void main(String[] args) {

     

         //通过new关键字创建car实例

        Car c = new Car();  // c就是一个类类型的引用变量,指向了该类的对象。     

        c.num=4;

        c.color="red";

        c.run();// 要使用对象中的内容可以通过   对象.成员  的形式来完成调用。

    }

 

 

成员变量和局部变量的同名&显示:

class Car{

int num;

String color;

void run(){

    Int num=10;

    System.err.println(num+"..."+color);

}

}

public class CarDemo {

 

    

    public static void main(String[] args) {

     

        Car c = new Car();     

        c.num=4;

        c.color="red";

        c.run();    }

 

结果:10...red

 

 

 Int num=10;局部变量

System.err.println(num+"..."+color);输出时  所处栈中存在  num  

 

 

在栈中找不到  到堆中找

堆中没有   报错!!

 

 

 

 

 

匿名对象:没有名字的对象

 

New Car()://匿名对象,其实就是定义对象的简写格式。

Car c  = new Car();

C.run();

New Car().run;

 

1.

当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。

  New Car().num= 5;//匿名对象调用一次过后就关闭

  New Car().color=”green”;

  New Car().run;

 

2.

匿名对象可以作为实际参数进行传递。

 

//Car c1 = new Car();

//Show (c1);

//==

Shownew Car();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值