有些方法在调用的时候,没有必要都要先实例化一下,只需要:[类名. 静态方法 ]就行了。

哪些方法的调用没有必要实例化呢?网上找了个例子:

举个例子:Car类,
1.静态方法Run(),
Car.Run(); //访问方式:类.方法(); 静态方法也可以叫做类方法 2.非静态方法Color()
Car car1 = new Car();
car1.Color(); //实例化后才可以访问,具体到某部车才有颜色
car1.Run(); //实例化后,也可以访问静态方法,(不推荐) 假如想知道你的车是怎么跑得(调用),没有必要把特定的一辆车开到你面前演示怎么跑得(实例化),因为汽车跑都是一个样子的,只要想一想汽车怎么跑得就知道了。这时,跑Run()声明称静态的。
但是如果想知道你的汽车的某一个特性,比如颜色,你可能就要到车前面去看一看了(实例化)。Color()这个方法就不是静态的了。 其他: 1)静态方法不再是针对某个对象调用,所以不能访问非静态成员
2)在静态方法中不能调用非静态属性,也不能调用非静态方法(因为static属性或方法可以在对象没有实例化就可以直接调用

知识点:
声明static类型的属性或方法之后此属性或方法也称为类方法,可以有类名称直接调用。
一般调用static属性的时候最好是使用类名称直接调用,采用“类名.属性”的方式调用。 int a=10; static void Func()
{
  Console.WwriteLine(a);//这样写是错误的,静态方法不能调用非静态成员。static int a=10;就对了。 }

有些方法为什么会声明称static静态的的更多相关文章

  1. Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)

    static (静态修饰符)        1.修饰成员变量        静态变量的访问方式:            方式一 : 通过对象访问.                对象.变量名      ...

  2. eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?

    eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...

  3. PHP之static静态变量详解(一)

    什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在 ...

  4. 转载:ViewHolder为什么声明为static

    转自:http://www.cnblogs.com/bluestorm/p/5867061.html ListView优化中ViewHolder要不要定义为static静态内部类?   给学生讲课的时 ...

  5. C#中static静态变量的用法

    使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型 静态全局变量 定义 ...

  6. [转] C# 中的static静态变量

    logitechyan原文关于C#中static静态变量 C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被 ...

  7. 关于C#中static静态变量

    C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一C#静 ...

  8. Java 基础之 static 静态

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...

  9. C语言 static静态变量

    静态变量类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间 ...

随机推荐

  1. ActiveMQ学习笔记(二) JMS与Spring

    上文可见,JMS Native API使用起来不是特别方便.好在Spring提供了很好的JMS支持. (一)配置ConnectionFactory 如果使用连接池的话,不要忘记activemq-poo ...

  2. AxWindowsMediaPlayer创建、添加播放列表(C#)

    // 创见打开对话框对象实例            OpenFileDialog openFileDialog = new OpenFileDialog(); //设置为可以打开多个文件        ...

  3. Vue2.0表单校验组件vee-validate的使用

    vee-validate使用教程 *本文适合有一定Vue2.0基础的同学参考,根据项目的实际情况来使用,关于Vue的使用不做多余解释.本人也是一边学习一边使用,如果错误之处敬请批评指出* 一.安装 n ...

  4. 关于本人遇到的nodejs的一些错误信息

    window xp.win7 32位下安装node.js mongodb驱动 1.cmd->npm install mongodb 2.新建一个环境变量NODE_PATH 3.把Nodejs目录 ...

  5. 项目经验之:MVVM初学者图形化笔记整理。。。

    这个模式,一下子把我的思路给打开..让我眼前一亮..居然可以这样将界面分离得如此彻底........... 大家一起学习... 说说我的感受吧,一个小实例讲述了 MVVM实现原理: 一个简单的例,将两 ...

  6. ADO.NET 快速入门(一):ADO.NET 概述

    ADO.NET 概述 ADO.NET是改进的ADO数据访问模型用于开发可扩展应用程序.他是专门为可伸缩性.无状态和XML核心的web而设计的.   ADO.NET使用一些ADO对象,如Connecti ...

  7. PostgreSQL的 initdb 源代码分析之八

    继续分析 由于 我并未进行特殊的参数设置,所以 (strlen(default_text_search_config) == 0) 成立. 故 调用   default_text_search_con ...

  8. C++访问权限

    1.C++类本身没有访问权限的概念,就是class Base. 2.类成员的访问权限有:public.protected.private 3.类的继承方式有:public.protected.priv ...

  9. HTTP Post Request using Apache Commons

    Demonstrates an HTTP Post using the Apache Commons HTTP library. Required Libraries: httpcore-4.1.ja ...

  10. SQL SERVER NVARCHAR字段INSERT 中文乱码问题解决

    INSERT INTO IPatient ( UID, PatientNo, PatientName, PatientGender, Birthday, BloodType, Country, Nat ...