第二节 14常量 简单

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* 常量与静态成员
 * const常量,常量名要大写
 * 不用new就能用的方法: static方法,static方法其实就是普通的函数
 * 在static方法中可以调用其他static方法,字段,属性,但不能调用非static方法,字段,属性,在非static方法可可以调用static的方法,字段
 * 
 *
 */
namespace _14常量
{
    class Program
    {
        public const int pi = 3; //public const不用new一个类就可以直接使用的
        static void Main(string[] args)
        {
            /*int r = 10;
            int l = 2 * pi * r;
            Console.WriteLine("周长:{0}",l);

            int m = pi * r * r;
            Console.WriteLine("面积:{0}",m);
            */

            //静态成员方法的访问,可以直接访问
            Person.TotalCount = 11;
            Console.WriteLine("Person.TotalCount=={0}", Person.TotalCount);
            //Person.age = 22;
            DoIt();
            

            Program p = new Program();
            p.ToIt();

            //不同类中的非静态方法访问静态访问
            Dog d = new Dog();
            d.叫换();

            //静态方法访问静态访法
            //Person.人口汇报();


            Person pp = new Person();
            pp.SayHello();

            int returint = ConsoleHelper.ReadInt();
            Console.WriteLine("返回值为:{0}",returint);

            //一个静态空不能被实例化

            //静态类一般用来实现一些纯的函数类
            //ConsoleHelper = new ConsoleHelper();

            Console.ReadKey();
        }

        public void ToIt() 
        {
            Console.WriteLine("在非静态函数中访问Person的静态方法:{0}",Person.TotalCount);
        }

        public static void DoIt() 
        {
            Console.WriteLine("在DoIt静态函数中访问Person的静态函数:{0}",Person.TotalCount);
        }
    }

    public class Person 
    {
        public int age;
        public static int TotalCount;

        public static void 人口汇报() 
        {
            //Console.WriteLine("总人口: {0},年龄:{1}",TotalCount,age);
            //在static成员中不能直接调用非static成员
        }
        public void SayHello() 
        {
            //但非静态成员函数,可以直接访问静态成员属性
            Console.WriteLine("我的年龄是:{0},全球总人口是:{1}",age,TotalCount);
        }
    }

    public class Dog 
    {
        public void 叫换() 
        {
            Console.WriteLine("旺旺:{0}",Person.TotalCount);
        }
    }

    //声明一个静态的类
    static class  ConsoleHelper
    {
        public static int ReadInt() 
        {
            string str = Console.ReadLine();
            return Convert.ToInt32(str);
        }

    }
}

  

原文地址:https://www.cnblogs.com/xiangxiaodong/p/2368458.html