• 面向对象、构造函数的区别


    面向对象编程
    
       1.封装性
         面向对象编程核心思想之一就是将数据和对数据的操作封装在一起,通过抽象即从具体的实例中抽取共同的性质形成一般的概念。
       2.继承
         子类可以继承父类的属性和功能,即子类继承了父类所有的数据和数据上的操作,同时又可以添加子类独有的数据和数据上的操作。
       3.多态有两种意义的多态   
         1)操作名称的多态
         2)和继承有关的多态
    
    类:
       习惯上类名的第一个字母大写。
       编写类的目的是为了描述一类实物共有的属性和功能。类提的内柔有两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义用来刻画功能。
    
    
    
    构造函数:用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。
    特点:
       1、该函数的名称和所在类的名称相同。
       2、不需要定义返回值类型。
       3、该函数没有具体的返回值。
       记住:所有对象创建时,都需要初始化才可以使用。
       注意事项:一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。
       一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。
     
    构造函数和一般函数有什么区别呢?
       1、两个函数定义格式不同。
       2、构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。
        一般函数,是对象创建后,需要调用才执行,可以被调用多次。
     
    构造代码块和构造函数有什么区别?
       构造代码块 :给对象进行初始化,对象一建立就运行而且优于构造函数执行。
       构造代码块和构造函数的区别 :构造代码块是给所有对象进行统一初始化,而构造函数是给指定的对象进行初始化。 
    
       People p = new People();
       创建一个对象都在内存中做了什么事情?
       1、先将硬盘上指定位置的People.class文件加载进内存。
       2、执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。
       3、在堆内存中开辟一个实体空间,分配了一个内存首地址值。new
       4、在该实体空间中进行属性的空间分配,并进行了默认初始化。
       5、对空间中的属性进行显示初始化。
       6、进行实体的构造代码块初始化。
       7、调用该实体对应的构造函数,进行构造函数初始化。
       8、将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)
  • 相关阅读:
    第十二章学习笔记
    UVa OJ 107 The Cat in the Hat (戴帽子的猫)
    UVa OJ 123 Searching Quickly (快速查找)
    UVa OJ 119 Greedy Gift Givers (贪婪的送礼者)
    UVa OJ 113 Power of Cryptography (密文的乘方)
    UVa OJ 112 Tree Summing (树的求和)
    UVa OJ 641 Do the Untwist (解密工作)
    UVa OJ 105 The Skyline Problem (地平线问题)
    UVa OJ 100 The 3n + 1 problem (3n + 1问题)
    UVa OJ 121 Pipe Fitters (装管子)
  • 原文地址:https://www.cnblogs.com/lcx90/p/5358345.html
Copyright © 2020-2023  润新知