zoukankan      html  css  js  c++  java
  • 静态类及实例类

    1.类中包含:字段;属性和方法。

    2.面向对象意在:写出通用的代码,屏蔽差异
    对象必须是看得见,摸得着的具体物体。--没有具体,则不能成为对象
    万物皆对象

    我们把具有相同属性和相同方法的对象抽象为类。
    对象是根据类创建出来的
    实例类是不占内存的,对象要占内存

    3.属性的作用就是保护字段,对字段的赋值和取值进行限定。
    4.属性的本质:及两个方法:即get,set。既有 get,又有set,称为可读可写属性。有的时候只有get或set。

    5.当创建好类的对象后,需要给这个对象的每个属性进行赋值, 称为对象初始化。


    6.静态和非静态的区别:实例类不占内存,实例化对象时才会在堆上分配内存。
    静态类在整个项目中实现资源共享,静态类本身就在静态存储空降占据一块内存。
    1)在非静态类中,即可以有静态成员,也可以有非静态成员(实例成员)。
    2)调用非静态成员,对象.实例成员名。

    3)在调用静态成员的时候,类名.静态成员名。

    总结:静态成员必须使用类名去调用,非静态成员使用对象名去调用。

    1)静态方法中只能使用静态成员,不能使用实例成员。
    2)实例方法中既可以使用静态成员,也可以使用非静态成员。
    3)静态类中只能有静态成员,不能有非静态成员
    4)静态类不能实例化对象。因为静态类只能包含静态成员,而静态成员只能用类名调用,不能使用对象名调用,故不需要实例化静态类,也不能将静态类对象实例化。


    7.静态类和实例类的使用
    1)如果你想要你 的类当做一个“工具类”去使用,这个时候可以考虑将类写成静态类。
    2)实例类不占内存,实例化对象时才会在堆上分配内存。
    3)静态类在整个项目中实现资源共享,静态类本身就在静态存储空间占据一块内存。(堆,栈,静态存储空间)
    4)只有应用程序全部结束之后,静态类才释放资源。

    8.构造函数
    通过构造函数给类的对象属性初始化,通过类属性给类中的字段初始化。

    作用:帮助我们初始化对象(给对象的每个属性一次赋值)
    1)构造函数没有返回值,连void也不能写
    2)构造函数名和类名必须一样。
    3)构造函数的访问修饰符必须是public,否则不能调到构造函数进行初始化。
    4)创建对象的时候,会自动的调用构造函数。
    **5)类中会有一个默认的无参数的构造函数,若在定义构造函数(无论是否有参数),则创建对象是,默认的无参的构造函数都不能被调用。

    9.new关键字的作用
    person zsPerson = new person();

    1)在内存中开辟一块空间
    2)在开辟的空间中创建对象
    3)调用对象的构造函数进行初始化对象。

    :base()关键字是在父类中申明了有参数构造函数,创建子类对象时,不能调用父类中默认无参构造函数,故需要在子类构造函数中使用:base()显示调用父类中的有参构造函数,进行初始化。

    10.this关键字
    作用:
    1)代表当前对象
    2)在同一个类中显示的调用构造函数 :this()
    主要是作用与同一个类中,一个构造函数显示调用另一个构造函数。
     public Student(string name, char gender, int age, int chinese, int match, int english)
            {
                Name = name;
                Gender = gender;
                Age = age;
                Chinese = chinese;
                Match = match;
                English = english;
            }
            //在下面这个构造函数中调用上面这个构造函数实现对象实例化public Student(string name , int chinese ,int match , int english):this(name ,'女' ,12 ,chinese ,match ,english)
            {     
            }

    11.析构函数在程序执行结束的时候,调用析构函数进行释放内存。

    6.静态和非静态的区别:实例类不占内存,实例化对象时才会在堆上分配内存。
    静态类在整个项目中实现资源共享,静态类本身就在静态存储空降占据一块内存。
    1)在非静态类中,即可以有静态成员,也可以有非静态成员(实例成员)。
    2)调用非静态成员,对象.实例成员名。

    3)在调用静态成员的时候,类名.静态成员名。

    总结:静态成员必须使用类名去调用,非静态成员使用对象名去调用。

    1)静态方法中只能使用静态成员,不能使用实例成员。
    2)实例方法中既可以使用静态成员,也可以使用非静态成员。
    3)静态类中只能有静态成员,不能有非静态成员
    4)静态类不能实例化对象。因为静态类只能包含静态成员,而静态成员只能用类名调用,不能使用对象名调用,故不需要实例化静态类,也不能将静态类对象实例化。


    7.静态类和实例类的使用
    1)如果你想要你 的类当做一个“工具类”去使用,这个时候可以考虑将类写成静态类。
    2)实例类不占内存,实例化对象时才会在堆上分配内存。
    3)静态类在整个项目中实现资源共享,静态类本身就在静态存储空降占据一块内存。(堆,栈,静态存储空间)
    4)只有应用程序全部结束之后,静态类才释放资源。

    8.构造函数
    通过构造函数给类的对象属性初始化,通过类属性给类中的字段初始化。

    作用:帮助我们初始化对象(给对象的每个属性一次赋值)
    1)构造函数没有返回值,连void也不能写
    2)构造函数名和类名必须一样。
    3)构造函数的访问修饰符必须是public,否则不能调到构造函数进行初始化。
    4)创建对象的时候,会自动的调用构造函数。
    **5)类中会有一个默认的无参数的构造函数,若在定义构造函数(无论是否有参数),则创建对象是,默认的无参的构造函数都不能被调用。

    9.静态类中只能有静态成员,不能有非静态成员;静态类中的构造函数不能加访问修饰符。静态类中的构造函数在静态类调用其中的成员之前,就已经初始化了,而非静态类,则是在实例化对象的时候调用构造函数。不管静态类调用几次其中的成员,都只执行一次构造函数的调用。

  • 相关阅读:
    hdu 1164 Eddy's research I
    链式线性表的实现
    StreamReader和StreamWrite和FileStream区别和用法
    后台返回json数据,前台显示代码
    数字分页类
    在线编辑器总结
    C# Web开发打开下载对话框代码
    Jquery validate插件使用方法详解
    正则表达式
    漂亮的表格样式
  • 原文地址:https://www.cnblogs.com/jefy/p/9187744.html
Copyright © 2011-2022 走看看