day07-1学习过程笔记

1.成员变量和局部变量的区别(理解)

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

注:
(1)A方法不能访问B方法内的局部变量
(2)局部变量名称可以和成员变量名称一样,在方法中使用的是就近原则。//哪个近用哪个
(3)生命周期和初始化值的不同是由于在内存中的位置不同

2.类作形式参数:(理解) //day10-1笔记,第一点,有深入说明

  • 如果你看到一个方法需要的参数是一个类名(也就是引用类型),就应该知道这里实际需要的是一个具体的对象

3.匿名对象(理解)

  • 定义:没有名字的对象
  • 应用场景:
  • 调用方法,仅仅只调用一次的时候。//若是调用两次就会一直创建新对象,如下:
    在这里插入图片描述
  • 可以作为实际参数传递:参考day07.03视频
  • 好处:匿名对象调用完毕就是垃圾,就被垃圾回收器回收,使用它可以提高效率。但开发中用的不多
    //因为栈中没有东西指向它,所以它是垃圾

4.封装思想:

  • 由来(包括set,get方法的引入):
    在这里插入图片描述在这里插入图片描述
  • 封装定义和设计原则:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
  • private是封装的一种体现
  • 封装包括很多:
    类(里面包含很多方法,所以可以看成一个大的封装体),
    方法(里面包含很多代码,所以可以看成一个大的封装体),
    private修饰成员变量(把成员变量封装起来了)

  • 好处:提高代码的复用性和安全性

5.private关键字(掌握)

  • 是一个权限修饰符,表示:私有的,可以修饰成员变量和成员方法 //但我们多用它修饰变量,一般不用它修饰方法
  • 特点:被private修饰的后的成员只能在本类中被访问
  • 应用:
    以后再写一个类的时候,把所有的成员变量给private了,再提供对应的getXxx()/setXxx()方法:2019-08-17PhoneTest
    //注:写方法时的顺序不重要,重要的是调用时的顺序

6.this关键字(掌握)

  • 代表当前类的引用对象

  • 记住:哪个对象调用方法,该方法内部的this就代表那个对象

  • this的应用场景:

  • 解决了局部变量隐藏成员变量的问题 //因为:局部变量名称和成员变量名称一样时,在方法中使用的是就近原则

  • 其实this还有其他的应用,day08补充

7.构造方法:

  • 作用:用于对对象的数据进行初始化

  • 格式:

  • 方法名和类名相同

  • 没有返回值类型,连void都不能有;没有返回值

  • 思考:构造方法中可不可以有return语句呢?
    可以。我们写成这个样子就OK了:return;
    其实,在任何的void类型的方法的最后你都可以写上:return;

  • 构造方法的注意事项

  • 构造方法也是可以重载的

  • 如果我们没写构造方法,系统将提供一个默认的无参构造方法

  • 如果我们给出了构造方法,不管我们给的是有参还是无参的构造方法,系统将不再提供默认构造方法

  • 这个时候,如果我们还想使用无参构造方法,就必须自己给出
    推荐:永远手动自己给出无参构造方法

  • 所以可以知道,给成员变量赋值有两种方式:

  • 无参构造方法+setXxx()
    //一般情况都采用这种方法赋值,原因:单个赋值比同时赋值多个的灵活性高

  • 带参构造方法

8.一个标准类的组成:

  • 类:
  • 成员变量:
    定义在类中,方法外的变量
  • 构造方法:
    无参构造方法
    有参构造方法
  • 成员方法:
    getXxx()
    setXxx()
    和一些其他方法…
    在这里插入图片描述

    一般用无参构造方法创建对象,用set方法赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值