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

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

举个例子: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. 如何更改c#项目的App.config文件

    动态修改App.Config 和web.Config 首先假设你的应用程序配置文件如下: <?xml version="1.0" encoding="utf-8&q ...

  2. CPU与内存(经典问答)

    原文:http://www.cnblogs.com/xkfz007/archive/2012/10/08/2715163.html 下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如 ...

  3. Linux学习笔记--(1)

    今天用Linux 的 test 命令,发现了一个有趣的现象: 打入 " test "abc"="abc" ;echo $? " 后,结果应该 ...

  4. jquery对象和javascript对象相互转换

    本文转载:http://jeiofw.blog.51cto.com/3319919/786506 jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuer ...

  5. Java中反射的三种常用方式

    Java中反射的三种常用方式 package com.xiaohao.test; public class Test{ public static void main(String[] args) t ...

  6. Mac下生成RSA密钥

    MAC OS自带了OpenSSL,直接在命令行里使用OPENSSL就可以. 打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以搞定. 第一句命令生成1024位私钥: O ...

  7. c#匿名类 anonymous学习

    感谢http://blog.csdn.net/jjx0224/article/details/5887589 感谢http://hi.baidu.com/guodong828/blog/item/cc ...

  8. Linux內核中常用的一些延時方法

    Linux內核中常用的一些延時方法 這些方法在以下路徑下定義:kernel/include/linux/delay.h #ifndef _LINUX_DELAY_H #define _LINUX_DE ...

  9. 将Uploads文件夹移到其它地方

    1.在创建目录 cd /mnt/xvdb mkdir qingtong 2.复制目录和权限 cp -rp /Uploads/ ./ -r 包括目录 p权限 3.创建软链接 ln -s /mnt/xvd ...

  10. Python的基础--对象 转

      对象(Objects)是python中数据的抽象,python中所有的数据均可以用对象或者是对象之间的关系来表示.每个对象均有标识符(identity).类型(type).值(value). 标识 ...