zoukankan      html  css  js  c++  java
  • 面向对象要点(构造函数)

         每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。 
      一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,与new运算符一起使用,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。 

        一旦用户自定义了构造函数,就不能在调用默认构造函数,不然编译器会提示错误,因为编译器认为既然用户知道类初始化的行为,他就没有必要在为用户考虑默认行为了

    构造方法是一种特殊的方法,具有以下特点。 
    (1)构造方法的方法名必须与类名相同。 
    (2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。 
    (3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。 
    (4)构造方法不能由编程人员调用,而要系统调用。 

    (5)构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用(即在new的时候就开始执行构造函数里面的语句);而一般的方法是在程序执行到它的时候被调用的.
    (6)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。 
    (7)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

    (8)当定义一个类的时候,如果程序员不创建构造函数,则Java编译器就会提供一个默认的不带参数的构造函数。创建对象时系统就会自动调用这个默认的构造函数来创建类的对象。

    package day2;
    public class Test5 extends A1 {
             Test5() {
                 System.out.println("Test5");
             }
             class Test{
                 Test(){
                     System.out.println("Test");
                 }
             }    
             //初始化块
             {
                 System.out.println("初始化块");
             }
             Test t;
             /**
              * @param args
              */
             public static void main(String[] args) {
                 new Test5();
             }
        }
        class A1 {
    //        private A1()
    //        {}
            
             public A1() {
                 System.out.println("AAA");
             }
             {
                 System.out.println("456");
             }
        }

    456
    AAA
    初始化块
    Test5

     
     构造函数 

    是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载
     构造函数与其他方法的区别 
        1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.
        2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
        3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
        4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点
  • 相关阅读:
    golang strings.Split函数
    Launch agent by connecting it to the master
    使用srvany.exe把程序安装成windows服务的方法
    区别对待 .gz 文件 和 .tar.gz 文件
    go 使用 sort 对切片进行排序
    Go数组遍历与排序
    Container killed on request. Exit code is 143
    ERROR tool.ImportTool
    报错笔记:sqoop 执行import命令报错
    连不上网
  • 原文地址:https://www.cnblogs.com/mmlovejj/p/5043616.html
Copyright © 2011-2022 走看看