• javaSE基础06


    javaSE基础06

    一、匿名对象

      没有名字的对象,叫做匿名对象。

    1.2匿名对象的使用注意点

      1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值、只能调用一次方法)

      2.匿名对象永远不可能是同一个对象

    匿名对象的好处:书写简单

    例:new Person().name = “ 小红”;

    1.3匿名对象的使用场景:

      1.如果一个对象需要调用一个方法一次的时候,就可以用匿名对象来调用

      2.可以做为实际参数在方法中调用

    二、构造方法

    2.1概念:

    java中类OC{中初始化方法叫做构造方法

    2.2回忆OC初始化方法的特点:

      1.可以在对象创建时初始化属性值

      2.初始化方法只能被调用一次

    2.3构造方法的作用:

      给对应的对象进行初始化,对象创建时初始化属性值

    2.4如何创建构造方法:

    格式:

    修饰符 类名(参数列表){具体实现}

    构造方法使用注意点

      1.方法名和类名保持一致

      2.构造方法没有返回值

      3.构造方法不是由我们自己手动调用的,而是在对象创建时由java虚拟机调用

      4.如果一个类我们没有给它定义一个构造方法,jvm在编译的时候会给这个类默认添加一个无参的构造方法

      5.如果我们自己定义了构造方法,jvm就不会在创建无参的构造方法,这个时候需要自己定义一个无参的构造方法

    三、方法重载

    3.1概念

    java中方法是可以重名的,我们把这种重名的方法叫做方法的重载

    3.2方法重载的使用注意事项

      1.必须是方法名一样才可以叫做方法重载

      2.任何方法都可以实现方法重载

      3.保证参数列表的参数顺序或者个数不一样

    构造方法中是可以调用普通方法的

    在同一个类中,方法的调用直接拿到方法名调用就可以了

    3.3构造代码块

      构造代码块的作用:给对象统一初始化

      构造代码块的格式:

      {

        你要统一初始化的内容

      }

    注意:构造代码块必须写在成员的位置上

    代码块:

      1.构造代码块

      2.局部代码块:写在方法中,也是以大括号来表示

      3.静态代码块:在项目启动的时候就执行的话,需要使用静态代码块,这种代码是主动执行的

        构造代码块的使用注意点:

      1.对象被创建出来时就执行了

      2.Java中编译器编译一个java原文件的时候,会把成员变量的声明放在类的最前面

      3.成员变量初始化都是在构造方法中执行的

      4.一旦经过java编译器编译后,那么构造代码块中的代码会移到构造函数最前面执行

      5.成员变量的显示初始化和构造代码。按照当前代码的顺序执行,谁在后面就显示谁

    四、this关键字

    this:代表所属方法的调用对象,和OC中的self很像

    this关键字的作用:

      1.如果成员变量和局部变量重名,在方法中默认调用局部变量。如果要使用成员变量,可以通过this点调用成员变量

      2.可以通过this实现构造方法的调用

      this关键字使用注意点:

      1.存在于成员变量同名的局部变量,方法内部会访问局部变量(java采用一个就近原则(优先在同一个内存空间中找变量))

      2.在方法中不存在和成员变量同名的局部变量,java编译器在编译时会默认给变量前面加一个this.

     

    构造方法中是可以调用普通(实例)方法,也可以调用构造方法

    直接用方法名来调用方法,调用的是普通方法,不会将这个方法作为构造方法

    例: studentnameage);

      this.studentnameage);

     

    正确的构造方法的调用:

    this(参数)

     

    使用注意点:

      1.this调用必须是语句中的第一个,不然会报错

      2.不要相互调用构造方法

    构造函数和一般函数的区别:

    结构:

      1.构造函数是没有返回值的,方法名就是类名

      2.构造函数是由jvm来调用的,自己无法手动调用

      作用:

      1.初始化的时候给属性赋值

      2.描述对象的某种属性

  • 相关阅读:
    TOMCAT热部署 catalina.home catalina.base
    spring boot test MockBean
    源码分析ConcurrentHashMap
    源码分析Thread
    源码分析String
    jvm 占用高的问题定位
    docker 资源限制
    数据库设计方案与优化
    linux搜索查找类命令|--grep指令
    linux搜索查找类命令|--locate命令
  • 原文地址:https://www.cnblogs.com/qlhMeiMei/p/6188347.html
Copyright © 2020-2023  润新知