`
yxmds
  • 浏览: 3554 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

构造方法的理解

 
阅读更多
1.构造方法是什么?
  Java的方法大致可以分为三种,普通方法,抽象方法和构造方法。在Java中,任何变量在被使用前都必须先设置初值.而构造方法是Java提供给为类的成员变量赋初值的专门方法。又可以说构造方法就是类构造对象时调用的方法,用于对象的初始化工作。每一个类都有一个构造方法,也可以称为构造器,在没有对构造方法重载之前都是默认无参的构造方法。
这时便要说说构造方法的格式与普通方法的区别了:
  限定符+类名+()+{}
1)限定符和方法的一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。
2)构造方法的方法名和类名一样。
3)方法能返回任何类型的值或者无返回值(void),构造器没有返回值,也不需要void。
4)并且与普通方法不同的是构造方法只能在构造对象时调用,普通方法在类中也可以自己调用。
5)"()"中是写上构造方法的形参,一般是默认的无参。
2.构造方法的重载
  当对一个类写了一个有参的构造方法就意味着对构造方法的重载,这时是对默认无参的构造方法的重载,重载之后,默认的构造方法就没有了。
  在重载是必须要有形参的改变:形参的数据类型,数量,顺序。
  在讲构造方法的重载时就必须提一提this关键字在构造方法中的使用了。this关键字在重载时一般有两种用法:
1)区分自身属性和形参.  this指代当前对象
2)调用自身其他的构造器,调用构造器的语句只能写在第一行
  
例:
package Lesson3 ;
public class Student{
  private String name;
  public Student(String name){
  this.name = name;
  }
  public Student(){
  this("李四");
  }
}
public static void main (String args[]){
  Student stu1 = new Student("张三");
  Student stu2 = new Student();
  System.out.println(stu1.name + "----" + stu2.name);
}
在上面的代码中, 有2个不同参数列表的构造器。第一个构造器,给类的成员name赋值,this关键字在这里是为了区分自身属性和形参。第二个构造器,调用第一个构造器,给成员变量name一个初始值 "李四",this关键字在这里是为了调用第一个构造器。
这时便有两种构造器了,一种有参的,一种无参的,在执行实例化对象时,stu1调用了有参的构造器,stu2调用无参的构造器,输出name时stu1是张三,stu2是李四。
  这些便是我对构造方法的理解了。


分享到:
评论

相关推荐

    理解构造器--构造器和方法的区别

    理解构造器--构造器和方法的区别 要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。  我们说构造器是一种方法,就象讲澳大利亚的...

    java 类、对象、构造方法的理解

    java 类、对象、构造方法的理解

    Java零基础-构造方法.md

    内容概要: 本文详细介绍了Java中的构造方法...建议通过编写简单的Java程序,并使用构造方法来创建对象和初始化属性,加深理解和掌握构造方法的使用。 如有疑问,可以参考Java官方文档或搜索相关资料,进一步扩展学习。

    如何理解和使用java的构造方法参考.pdf

    如何理解和使用java的构造方法参考.pdf

    实验三 类的定义、封装;构造方法的定义、重载

    4、掌握有参构造方法的定义方式,理解系统会自动分配无参构造方法的情况。5、掌握如何在类中定义重载的构造方法。1、设计一个表示学生的类,该类具有表示姓名的属性name和表示年龄的属性age,同时还具有表示说话行为...

    java中带有不同构造方法的程序内存分析

    想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件

    AbstractTest.java帮助理解多重继承、抽象方法重写调用、super、this关键字、构造方法、重载知识点

    定义抽象类以及抽象方法,构造方法,将子类1定义为抽象类,子类2继承子类1,子类2重写抽象方法。用以帮助理解多重继承、抽象方法重写调用、super、this关键字使用、构造方法、重载这几个的知识点

    FIRST集和FOLLOW集构造方法.docx

    给出了FIRST集和FOLLOW集的详细计算方法,比原始方法更好理解,更清晰。

    java 简述父与子类的关系及构造方法

    适用初学者学习java,用代码方式及代码注释简单讲述父类与子类的关系及构造方法,通俗易懂。边操作便理解。

    深入理解java构造器机理

    java构造方法是java类中最重要的一个概念,这篇文档涵盖了,java对象初始化过程中构造器调用的顺序,及作用。

    计算机编译原理实验

    理解编译程序的构造原理,掌握编译程序的构造方法与技术。通过实习,使学生既加深对编译原理基础理论的理解,又提高动手能力,特别是提高软件设计能力。

    OpenLDAP中Message的构造方法

    这篇文档只能说是构造LDAPMessage的基本流程或者说是枝干,其构造的具体方法或者说叶子是比较复杂的。希望大家看了这个之后能有一个构造的思路,具体实现需要对代码进行详细研读理解。

    实验三:Java类与对象

    深入理解了面向过程与面向对象语言的区别,了解了面向对象语言的三大特征,掌握类的声明和构造方法,掌握了对象的创建方法与创建机制,掌握了成员变量、类变量和局部变量区别,理解了成员方法与类方法区别。...

    详解 Java继承关系下的构造方法调用

    主要介绍了详解 Java继承关系下的构造方法调用的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

    java基础知识共享资格分享

    如果一个构造方法都没有、系统默认提供一个无参的构造方法(如果写了则不提供) (5)创建对象的语法格式 类名 变量 = 当前类的对象(new 构造方法) 父类 变量 = 子类的对象(new 构造方法) 接口 变量 = 实现类的对象...

    Java构造器和方法的区别

    同样地,要理解构造器,那么要了解构造器和方法的区别。所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的。下面将简单介绍一下 ,后用一个表作了些简单的总结。  功能和作用的不同  构造器...

    java语言this的使用

    java语言this的使用: this代表了当前对象的一个引用,可理解为对象的另一个名字 this的使用场合 1.用来访问当前对象的数据成员:this....3.当有重载的构造方法时,用来引用同类的其它构造方法: this(参数)

    深入理解Java中的构造函数引用和方法引用

    java构造函数,也叫构造方法,是java中一种特殊的函数。函数名与相同,无返回值。方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法。下面我们来详细了解一下它们吧

    深入理解JavaScript系列

    深入理解JavaScript系列(26):设计模式之构造函数模式 深入理解JavaScript系列(27):设计模式之建造者模式 深入理解JavaScript系列(28):设计模式之工厂模式 深入理解JavaScript系列(29):设计模式之装饰...

    java中继承的使用案例

    该类有两个构造方法Person()和Person(姓名,性别,年龄),构造方法Person()中设置姓名,性别为空字符串,年龄为0,构造方法Person(姓名,性别,年龄)中设置姓名,性别只能为“男”或“女”,年龄大于0、小于...

Global site tag (gtag.js) - Google Analytics