zoukankan      html  css  js  c++  java
  • 类和结构的区别?

    1、类是引用类型,因此其引用存放在栈(Heap)中,而其数据存放在堆(Stack)中。结构是值类型,存放在栈(heap)中。因此,结构适合处理数据量较小的数据。

    2、结构是隐式密封的(Sealed),因此不能被继承。当可以实现接口。

    3、内部结构:

      结构:

      没有默认的构造函数,但是可以添加构造函数

      没有析构函数

      没有 abstract 和 sealed(因为不能继承)

      不能有protected 修饰符

      可以不使用new 初始化

      在结构中初始化实例字段是错误的

      类:

      有默认的构造函数

      有析构函数

      可以使用 abstract 和 sealed

      有protected 修饰符

      必须使用new 初始化

     

      如何选择结构还是类

      讨论了结构与类的相同之处和差别之后,下面讨论如何选择使用结构还是类:

      1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

      2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

      3.在表现抽象和多级别的对象层次时,类是最好的选择

      4.大多数情况下该类型只是一些数据时,结构时最佳的选择

  • 相关阅读:
    c#读取XML
    Javascript 自动计算生日
    Thread.currentThread()与setDaeMon(boolean c)方法
    StringBuffer类的delete()方法和deleteCharAt()方法
    getStackTrace()方法使用
    JDBC详解
    eclipse与idea路径不匹配
    Idea导入maven项目不自动识别pom.xml
    IDEA找不到或无法加载主类
    MySQL:主从复制与处从复制同步延迟
  • 原文地址:https://www.cnblogs.com/Tally/p/2525781.html
Copyright © 2011-2022 走看看