zoukankan      html  css  js  c++  java
  • 静态类

             通常将不进行实例化且仅包含静态成员的类声明为具有私有构造函数的密封类。.Net类库中System.Console和System.Environment就是这种类,静态类不能包含abstract和sealed修饰符,但是无法实例化静态类或从静态类派生,所以静态类的行为实际上是“抽象”和“密封”的。


    静态类的特性:

    1.所有的静态类都不显式的指定基类或所实现的接口列表,静态类都是隐式的从object类型继承的。

    2.静态类只包含静态成员,其中常量和嵌套类型被看成是静态成员。

    3.静态类不能派生所以不能含有protected 和protected internal访问修饰符。

    4.静态类没有实例的构造函数,也不能提供任何默认的构造函数。

    5.静态成员不会自动的成为静态,当一个类嵌套在一个静态的外层类中时,除非该类显式的包含static修饰符,否则该嵌套类不是静态类。


    一下举一个静态类的例子:


     
    using System;
    namespace StaticClassTest
    {
        using L = Area.Perimeter;
        static class Area 
        {
            public const double π = 3.1415926;//被看做静态成员
            public static double circleArea(double r)
            {
                return π * r * r;
                //return Math.PI * r * r;
            }
            public static double rectArea(double length, double height)
            {
                return length * height;
            }
            public static double squareArea(double side)
            {
                return side * side;
            }
            public class Perimeter//被看做静态成员,Area.Perimeter
            {
               public  double Cperim(double r)
               {
                   return 2.0 * Math.PI * r;
               }
            }
        }
        class Test
        {
            public static void Main()
            {
                double[] area = new double[3];
                area[0] = Area.circleArea(2.35);
                area[1] = Area.rectArea(3.2, 2.36);
                area[2] = Area.squareArea(3);
             
                for ( int i = 0; i < area.Length;)
                { 
                    Console.WriteLine(area[i]);
                    i++;
                }
                 L l = new L();
                //此处说明不该内部类不是静态类
                Console.WriteLine(l.Cperim(2.35));
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    Math 和 Date
    GRID布局
    移动端项目布局类型
    媒体查询 + rem用法
    字符串
    ES5 中常见的数组常用方法
    数组的排序
    毕设制作:前端界面 2020-02-01
    阅读笔记十六——排序算法
    阅读笔记十五——阿里面试题
  • 原文地址:https://www.cnblogs.com/rohelm/p/2384113.html
Copyright © 2011-2022 走看看