Java初学者笔记(3)

一、面向对象(继)

        1.this关键字

                       ---------->代表当前类对象的地址值引用

                目的:为了区分局部变量隐藏了成员变量

格式:

        this.成员变量 = 局部变量;

例:

    public void setName(String name){//局部变量,需要传入实际参数
        this.name = name ;  //成员变量= 局部变量
    }

        2.局部变量和成员变量

               区别:

                        1)书写位置不同

                                成员变量:类中,方法外

                                局部变量:方法定义中,或者方法声明上

                        2)内存中位置不同

                                成员变量:堆内存中,和对象有关系

                                局部变量:栈内存中,和方法有关系

                        3)生命周期不同

                                成员变量:随着对象的创建而存在,随着对象的创建完毕等待jvm的垃圾器空闲时回收而消失

                                局部变量:随着方法的调用而存在,随着方法的调用而消失;

                        4)初始值不同

                                成员变量:是可以不初始化的,需要通过对象来赋值,存在默认初始化

                                局部变量:必须在使用之前初始化,否则报错

附:

什么时候把一个定义为成员变量的时机?

                如果一个类能够描述这个事物的属性,必须为定义成员变量;否则都定义为局部变量

        3.匿名对象

                        ---------->没有名字的对象

   好处:节省空间

              匿名对象可以作为参数传递,创建完毕之后,没有栈内存指向,所以使用完毕立即被GC(垃圾回收器回收)

               一般情况:匿名对象使用一次即可,这样不需要过多的开辟堆内存空间,直接被回收

格式:
        new 类名();
    
    匿名对象调用方法:
            
            new 类名().成员方法名();


        例:    //使用匿名对象new  类名()
                //new  类名().成员方法名() ; //调用自己方法
                sd.method(new Student());

        4.构造方法(就是一种方法)

        1)这个方法,方法名和类名相同
        2)这个方法,连void都没有
        3)构造方法是可以重载的;(无参构造方法;有参构造方法)

        目的:为了类的成员相关的数据进行初始化

                        系统默认初始化       

                         显示初始化

        注意事项:

             当一个类中没有任何构造方法(无参/有参),系统会默认提供无参构造方法;

             但如果提供有参构造方法,系统就不会再提供无参构造方法,无参构造就会报错;

                一个标准类写法:

                                成员变量私有化

                                提供对外的公共访问方法,setXXX()/getXXX()

                                提供无参构造/有参构造方法(根据需求判断)

        小结:
                1)方法的形式参数是基本类型,调用方法的时候实际参数需传递对应数据值即可

                2)方法的形式参数是引用类型:数组,类,接口。实际参数在进行传递需要传递当前数组对象/类的对象/接口的对象

                        new :创建实例(堆内存开辟空间:空间地址值)

        5.static关键字

                        本身含义:共有,共享的意思

                static特点:
                        1)被静态修饰的随着类的加载而加载,优先与对象存在

                        2)不能和this共存

                        3)本身含义就是共享,共用;可以有多个对象共享共用

                        4)被静态修饰的成员变量或者成员方法(静态变量/静态方法)

                                调用方式:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值