美文网首页
java的构造方法 this 重载

java的构造方法 this 重载

作者: 三秒嗨 | 来源:发表于2016-08-01 07:49 被阅读199次
  • java的构造方法

new +构造方法 去创建一个对象
跟普通方法的区别:
1.构造方法没有返回值类型的声明
2.每一个类至少有一个构造方法

如果没有生命JVM会默认给一个无参数的构造方法,一旦声明了构造方法就不在默认给你。

3.构造方法名称必和须跟类名一致
4.构造方法的调用

public Person()
{
      System.out.printf("构造方法");
}
注意:如果写成了public void Person() 就成了普通的方法了
      普通方法:对象存在,通过变量名.方法名()调用
      构造方法:new 构造方法名()调用,一旦new构造方法()就创建一个新的对象
      构造方法只存在对象创建的时候调用
  
      作用:语法规定通过new+当前类的构造方法去创建一个对应的类型的对象。
实际中对象是否创建时由new决定,构造方法是在对象创建成功之后执行的,用于做初始化设置,并且构造方法只在当前对象创建成功时执行一次,以后就不会执行。

注意:一般情况下我们会声明参数的构造方法,在对象创建的对成员变量进行赋值(复用性)
  • 方法重载 overload
java中允许在一个类中声明多个名称一样,但是参数不同的多个方法
作用:在创建对象的时候初始化的时候提供多种需求。
调用:
        根据实际传入的参数来识别。
参数不同:
          1.参数的个数不同。
          2.参数的类型不同。
          3.参数类型的顺序不同,也算不同(前后参数类型需要不同)

注意:在方法重载中,当严格匹配匹配不到方法时候,就会通过就近匹配方法。
就近匹配:按照参数的默认转换的原则
注意:一旦就近匹配到多个方法的时候会出现语法的错误,就需要按照严格匹配。
注意:重载对个构造方法一般是为了在创建对象的时候,可以提供多种初始化设置供使用者选择。

  • this
    1.隐含的局部变量
    在方法中指向调用该方法的对象()
    使用:当成员变量与局部变量同名的时候,通过this说明哪一个是成员变量。(this指向的是成员变量)
    F11进入调试状态
    F5进入构造方法


    使用场景.png

    不加this 成员变量和局部变量同名,局部变量的优先级会比较高

这样会能知道改填什么参数.png

2.作为当前类的构造方法名存在
作用:在构造方法第一句话去调用其他重载的构造方法(ps:放在第一句话是为了只声明一个对象。)

实现代码复用.png
  • 静态修饰符 static
    作用:修饰成员变量、方法
    修饰成员变量,该成员变量就是静态的成员变量,不在依赖与对象,是这个类所有对象共有的。
    注意:静态的成员变量在类加载的时候会被创建(对象生成之前就创建了),并且只会被创建一次。
    使用:类名.静态成员变量名(因为不论是哪一个对象改变静态变量都会改变,所以可以直接类名来调用)
执行结果都为22.png name指向相同的常量.png

2.修饰方法,该方法就变成静态方法,不在依赖于某个对象(方法里面没有使用到任何一个成员变量)。
使用:类名.静态的方法名(参数);
与非静态方法的区别:
非静态的方法调用的前提:对象存在。

非静态的方法什么都可以调用

静态的方法不可调用非静态的成员变量以及方法(成员变量不知道是哪一个变量)

相关文章

  • 02Dart:并不支持构造函数的重载

    Java 代码中,使用了重载构造函数的方法,该方法在 Java 中很普遍,重载的构造函数和之前的构造函数具有相同的...

  • java05(构造函数重载与构造代码块)

    构造函数的重载: 构造函数的命名就是类名 java构造函数可以重载很多次。构造方法重载具体好处就是:扔进来...

  • 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包...

  • java的构造方法 this 重载

    java的构造方法 new +构造方法 去创建一个对象跟普通方法的区别:1.构造方法没有返回值类型的声明2.每一...

  • Java构造方法以及重载

    构造方法以及重载 »作用:完成对对象中的属性赋值 »构造方法 ■ 构造方法是一个特殊的方法,构造方法名字必须与类名...

  • Kotlin中@JvmOverloads 注解

    含义:方法的重载,类似于在java中对多个构造函数、多个方法的重载 可能还是云里雾里,直接上代码,代码解释一切: ...

  • 2018-12-04 今日小结

    今日学习内容 Java方法定义、有无参数/返回值方法定义与使用、方法重载。Java类与对象的定义、类的构造方法。C...

  • Mybatis SqlSessionTemplate 实例化过程

    构造方法 SqlSessionTemplate的构造方法源代码如下,其他构造方法,都是在此构造方法上进行的重载。 ...

  • 构造方法的重载及注意事项

    A:案例演示 构造方法的重载 重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表 B:构造方法...

  • NO.15 构造方法的重载

    构造方法的重载 重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表 构造方法注意事项...

网友评论

      本文标题:java的构造方法 this 重载

      本文链接:https://www.haomeiwen.com/subject/vrltsttx.html