黑马程序员:面向对象中的静态和非静态

原创 2013年12月01日 22:53:15

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

 

静态就是前面有static修饰的,非静态没有那个修饰符.

 

下面是静态和非静态在运用的时候注意的几点,我的总结:

1)、一个非静态的类当中,既可以有静态方法,也可以有非静态方法。
2)、静态方法需要类名.方法名();  实例方法需要对象名.方法名();
3、静态类中既可以有静态的成员,也可以有非静态的成员
4)、在非静态类中,是可以使用静态成员的。
5)、在静态方法中,可以使用到静态成员。
6)、在静态方法中,不能够使用到非静态成员,静态方法中只能够使用到静态的成员
7)、静态类中,只能存在静态成员,不允许出现实例成员。
8)、静态类不允许创建对象。

 

下面是一个代码我给做了一一解释:

namespace 静态和非静态
{
    public class Student
    {
        //这是一个非静态的类
        //1)、一个非静态的类当中,既可以有静态方法,也可以有非静态方法。
        public static void SayHallo()
        {
            Console.WriteLine("这是一个非静态的方法");
        }
        public void SayNo()
        {
            number = 10; //这是一个非静态的方法,但是可以使用静态成员
            Console.WriteLine("这是一个静态的方法");
        }

        //4)、在非静态类中,是可以使用静态成员的。
        public static int number; //可以出现静态成员

        public static void M2()
        {
            number = 10;  //5)、在静态方法中,能不能够使用到静态成员?可以使用到静态成员。可以使用静态成员       
        }
    }
}


 

下面是个非静态的类

namespace 静态和非静态
{
    public static class Car
    {
        //这是一个静态的类,
        //静态类中既可以有静态的成员,也可以有非静态的成员。这是错误的
      // int _name;  不允许出现实例成员
        public static string str; //可以有静态成员

        public static void M1() //可以有静态方法
        {
            Console.WriteLine("这是个静态方法");
        }
    }
}


 

以上就是我在面向对象中的静态与非静态中的总结。

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

Java中静态跟非静态的区别总结

静态变量跟实例变量的区别,静态方法跟实例方法的区别
  • HaydenYu
  • HaydenYu
  • 2017年06月19日 10:05
  • 1261

静态变量和非静态(实例)变量的区别

静态变量:独立存在的变量,只是位置放在某个类下,可以直接类名加点调用静态变量名使用。并且是项目或程序一启动运行到该类时就直接常驻内存。不需要初始化类再调用该变量。用关键字static声明。静态方法也是...
  • tx16bing
  • tx16bing
  • 2014年10月21日 08:54
  • 1441

静态锁和非静态锁

如何保证线程安全,这个问题并不陌生,通过使用synchronized和volatile关键字,又或者使用concurrent包里提供的Lock ====相关链接====== synchronized和...
  • bj262948
  • bj262948
  • 2017年07月17日 17:20
  • 214

C++静态成员和非静态成员的区别

1.数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会...
  • developerof
  • developerof
  • 2016年04月14日 10:03
  • 2980

不能对非静态字段/方法进行静态引用

如图所示,分别在第5行与第10行删除了static,则程序报错。 原因: 非静态常量是随着对象实例化才分配内存赋值的,运行main时只加载了类,内存中还没有变量值,而类加载时首先为static成员分配...
  • WenDong1997
  • WenDong1997
  • 2017年10月21日 18:45
  • 154

黑马程序员_静态和非静态

------- android培训、java培训、期待与您交流! ---------- 静态和非静态 静态 JAVA中的静态修饰符修饰的对象是静态的,和非静态相比,静态的对象是和类绑定的...
  • PANZERLEADER
  • PANZERLEADER
  • 2013年04月18日 19:31
  • 223

Static 静态与非静态的区别

Static 解释 :用static关键字修饰的静态类或者静态变量主要的一个优点是写在栈中的,在内存中占有实际位置,可以安全稳定的快速调用,因此常用static修饰那些需要频繁调用的函数或变量,以此...
  • afanyusong
  • afanyusong
  • 2015年03月07日 12:54
  • 854

个人对java静态和非静态的理解

静态类和非静态类的主要区别:   主要区别在于静态类不能实例化,静态类编译器能够执行检查确保不是偶然的添加实例成员,静态类中不能创建非静态的方法,即静态方法中只能创建静态方法,但在非静态类中可以调用...
  • qqq3670279
  • qqq3670279
  • 2016年08月09日 14:32
  • 435

java中静态方法调用非静态成员变量、非静态方法

public class Circle { private double radius = 1.0; double getAre() { return radius * radi...
  • ly890700
  • ly890700
  • 2017年03月27日 13:32
  • 711

静态对象和非静态对象的区别

Java静态对象和非静态对象有什么区别??       静态对象                 vs          非静态对象    是类共同拥有的              |      是...
  • zhaoshi1987
  • zhaoshi1987
  • 2016年05月10日 14:26
  • 290
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员:面向对象中的静态和非静态
举报原因:
原因补充:

(最多只允许输入30个字)