java 6 面向对象、匿名对象、权限修饰符、构造方法

面向对象

三个引用,两个对象的引用指向同一地址的内存图:

在这里插入图片描述


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

    ​ 局部变量:定义在方法中的变量或方法声明上的变量

    ​ 成员变量:定义在类中方法外的变量

    ​ 1.局部变量属于方法,随着方法的调用而产生。随着方法的调用完毕而消失

    ​ 成员变量属于对象,也叫做实例变量,随着对象的创建而产生,随着对象的回收而消失

    ​ 2.局部变量,必须赋值才能使用

    ​ 成员变量:有默认值

    ​ 3.局部变量存在于栈内存

    ​ 成员变量存在于堆内存

  • 当成员变量和局部变量重名时,变量的访问原则就近原则

    现在该方法内部这个局部范围照这个变量,找到就是用,没有找到就去成员范围找,找到就是用,没有找到就报错。

  • 可以将多个类,并列的定义在一个.java文件当中。public中呢个加给其中作为入口的类。但是建议一个类,就是一个.java文件。


  • 参数传递:当以后看到一个形参要一个类 类型,就传递一个该类的对象

    基本类型作为参数传递,属于值传递。形参的改变不影响实参。

    引用类型作为参数传递,属于引用传递,传递的是地址值,形参的改变会影响实参。

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

  • 匿名对象可以直接调用属性和功能

  • 1.当只想调用一次时,用匿名对象调用

    2.匿名对象可以作为参数传递

    3.当以后看到一个方法的形参,要一个类型,就传一个该类对象


权限修饰符
  • public(任何地方都可以访问到)>protected(在同一包下可以调用)>缺省的>private

  • private

    ​ 我们采用 对象名.成员变量名=值 这种方式给成员变量设置值的方式,他不能排除一些不合理的数据。我们可以采用一种手段来屏蔽掉 对象名.成员变量名=值 这种设置值的方式。

    • private 权限修饰符,可以修饰成员变量,也可以修饰成员方法,被修饰的成员,只能在奔雷中访问,外界无法直接访问。

    • 我们提供公共的设置和获取的方法,让外界用过调用方法来给成员变量设置值和获取值。

      例:设置名字和年龄到private修饰的变量name和age中,并对年龄进行限制。

      在这里插入图片描述

    • 以后在定义一个类时,会把成员变量私有掉,然后提供公共的set get方法,让外界通过 set get 方法间接的去给成员变量设置值以及获取成员变量的值。

  • this

    • 当我们调用set方法时,形参的名称和成员变量的名称重名了,发现把成员变量致盲了,我们可以是用this区分局部变量和成员变量。
    • this代表该类的一个引用,可以理解为该类的对象,那个对象调用这个方法,那么方法中的this就代表那个对象
    • 方法中的this代表那个调用者。
构造方法

创建一个类的对象 使用关键字new 来调用构造方法来完成类的实例化。

例:Student s=new Student();

构造方法的作用:就是用来对类进行实例化。

语法:方法名和类名相同,没有返回值,void也没有

当定义一个类后,这个类中,默认就存在有空参的构造方法。

在这里插入图片描述

  • 借助有参构造来完成类的实例化

  • 一旦我们手动给出了有参构造,那么默认无参构造就没有了,如果还想借助空参构造创建对象,建议手动把空参构造写出来。

  • 一键生成set get 语句/空参有参构造

    按alt+insert键,选择Generate ,选择 getters and setters ,选择想要的参数 //set get

    选择Constructor ,空参构造选择none… 有参选择想要的参数 然后点击ok //空参/有参

  • 如果不想要外界创建对象,就在构造方法前加private

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值