静态与非静态的区别

(1)在非静态类中既可以有实例成员,也可以有静态成员(static修饰)。

(2)在调用静态成员的时候要使用:对象名.实例成员。

(3)在调用静态成员的时候要使用:类名.静态成员。

总结:静态成员使用类名去调用,非静态成员使用对象名去调用。静态函数中只能访问静态成员,不允许访问实例成员   (静静),实例函数中既可以使用静态成员,也可以是实例成员。

静态类中只允许有静态成员,不允许出现实例成员。

使用:什么时候使用静态,什么时候使用非静态

(1)把类当成“工具类”去使用,考虑写成静态类  例如:console类

(2)静态类在整个项目中资源共享---------占内存,,,,只有程序全部结束后,静态类才会释放资源。

非静态创建对象并赋值(逐一赋值)会造成代码冗余,所以产生构造函数来赋值

构造函数:

作用:初始化对象(给对象的每个属性依次赋值),构造函数是一个特殊的方法。

(1)构造函数没有返回值,没有Void

(2)构造函数名称必须和类名一样。

语法:

public 类名(参数)

{

属性赋值;

}

创建对象时调用构造函数 关键字new

new关键字做了三件事:

(1)在内存中开辟了一块空间。

(2)在开辟的空间创建对象。

(3)调用对象的构造函数进行初始化对象。

类当中默认有一个无参的构造函数   ,默认的构造函数会被我们新建的构造方法覆盖

无参的构造函数:public 类名()

{

}

有参的构造函数:public 类名(参数)

{

赋值;

}

在创建对象时(new)传参  n=new 类名(实参)

当类中已有重载的构造函数时,需要无参的构造函数需重新写无参构造函数。

this关键字:

作用:(1)表示当前类的对象

(2)调用本类当中的构造函数(重载中不全参数的构造函数去调用全参的构造函数)

语法::this()

例如:public Student(部分参数):this(全部参数值)

析构函数:~类名(){}

作用:当程序结束的时候,析构函数才执行     -----------》释放资源

c#面向对象基础3的更多相关文章

  1. 了解JavaScript 面向对象基础 & 原型与对象

    面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...

  2. MYSQL、PHP基础、面向对象基础简单复习总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

  3. 从零开始学Python第六周:面向对象基础(需修改)

    标签(空格分隔): 面向对象 一,面向对象基础 (1)面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...

  4. python面向对象基础

    面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...

  5. java基础学习05(面向对象基础02)

    面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...

  6. java基础学习05(面向对象基础01--类实例分析)

    面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过set ...

  7. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  8. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  9. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  10. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

随机推荐

  1. FutureTask的用法及两种常用的使用场景 + FutureTask的方法执行示意图

    from:  https://blog.csdn.net/linchunquan/article/details/22382487 FutureTask可用于异步获取执行结果或取消执行任务的场景.通过 ...

  2. CountDownLatch的简单理解

    CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用). CountDownLatch能够使一个 ...

  3. matplotlib-------标记特殊点

    import matplotlib.pyplot as plt import numpy as np def demo_test(): a=np.array([0.15,0.16,0.14,0.17, ...

  4. FineUI 单击菜单页面内容完全刷新,关闭Tab

    res/js/main.js  修改initTreeabStrip 中    refreshWhenExist.refreshWhenTabChang两参数值 // 初始化主框架中的树(或者Accor ...

  5. 打开安装 好的Microsoft Dynamics CRM 4.0 报错误为 Caller does not have enough privilege to set CallerOriginToken to the specified value 的解决办法

    If you installed CRM 4.0 on box where you also have SQL and used a domain account as service account ...

  6. R(1):中文乱码解决方案

    读取csv文件出现中文乱码方案,增加编码格式参数 read.csv(trainPath,header=TRUE,stringsAsFactors=TRUE,encoding = "UTF-8 ...

  7. 【unittest】unittest单元模块做assert

    我在Windows上开发Python用的版本是2.7,在Ubuntu上开发的版本是2.6,而在Python的unittest模块中,有几个方法是在2.7才有的,它们是: Method Checks t ...

  8. CentOS7.1下生产环境Keepalived+Nginx配置

    CentOS7.1下生产环境Keepalived+Nginx配置 [日期:2015-07-20] 来源:Linux社区  作者:soulful [字体:大 中 小]   注:下文涉及到配置的,如无特别 ...

  9. android自定义控件的一个思路-入门

    转自:http://blog.sina.com.cn/s/blog_691051e10101a3by.html   很多时候没有我们需要使用的控件,或者控件并不美观.比如这个滑动开关,这是androi ...

  10. android 更新listview 其中一行的数据显示

    private void updateView(int index){ View v = yourListView.getChildAt(index - yourListView.getFirstVi ...