抽象类、静态类、单例

抽象类

用abstract修饰的方法,称为抽象方法。

public abstract void  Practice();

抽象方法是一种特殊的虚方法,它只起声明作用,所以只加一个“;”号,一定不能带实现部分。

含有抽象方法的类也必须用abstract修饰,我们称之为抽象类。

抽象类 没有 抽象方法也可以成为抽象方法;

但是 抽象方法一定要在抽象类里面。

抽象类独立于抽象方法,也就是说没有抽象方法,类也可以声明为抽象类,抽象类不能被直接实例化,其他跟普通类没有区别。

1.抽象类中如果有抽象方法,那么被继承的具体类一定要实现抽象类中得所有抽象方法。

2.当然,如果是抽象类B继承抽象类A,那么抽象类B可以实现基类A中的抽象方法,可以不实现A中得抽象方法。

作用

抽象类用途:提供一个可供多个派生类共享的通用基类的定义。

其实,这就是类(抽象类)的多态。


1.抽象方法只作声明,而不包含实现,抽象方法旨在继承后实现,所以不能用private修饰。

2.抽象类不能被直接实例化。

3. 抽象类可以没有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类。

4.如果抽象类的派生类不是抽象类,那么必须重写抽象类的所有抽象方法。


1.抽象方法一定不能有实现,虚方法一定要有实现;

2.抽象方法被具体类继承后,一定要被重写,虚方法可以不重写

3.抽象方法一种特殊的虚方法,一旦类中有抽象方法,则类必须声明为抽象类,抽象类中可以有虚方法。

静态


最能代表的就是Math方法

用static修饰的成员 称为静态成员

静态成员只能由类来调用(点语法调出)

使用static修饰的类 为 静态类

静态类不许实例化(也就是不能再main函数里面声明new对象),只允许存在静态成员(包括字段,方法,属性)和const修饰的常量(赋值的情况)


静态类特点:

1.仅包含静态成员和const修饰的常量。

2.不能被实例化。

3.是密封的。(默认已经是sealed,不能再用sealed修饰)

4.有静态构造方法(函数),但静态构造方法必须是无参数的。

静态构造方法用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。


public sealed class  Time

{    public static float   dealTime;

        staticTime()//不能带访问修饰符,不能带参数,不能重载

{

dealTime =0.04f;//如果不写这句话,系统会为静态变量赋一个默认值

Console.WriteLine ("static Time().");    

        }

}

classMainClass

{    public static voidMain (string[] args)

{    Console.WriteLine (Time.dealTime);

        }

   }

}

静态类用法

一些公用的变量或者方法可以放在静态类里面,以供其它类使用,例如一些排序算法等,可以把静态类看作一个工具类,任何地方只要需要都可以调用该类里面的成员,以提高开发效率。

static class Tags{

//静态方法;静态属性、字段

}


单例

简单来说单例设计模式就是确保一个类就仅有一个实例。

单例模式是资源管理的必备模式,保证一个类只有一个实例,并且这个实例易于被访问。

实现方法:

1.构造方法设为private。  2.内部建立静态实例。  3.静态构造方法给实例做初始化。



静态类是一种工具类,不能实例化,不能继承

掌握单例设计模式思想和实现

抽象类和抽象方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 8yue29 base. 调用当前基类方法 当你需要在基类基础方法上,再添加一些东西,那么可以在子类方法中用bas...
    cGunsNRoses阅读 4,332评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,151评论 18 399
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 4,941评论 0 5
  • 一、继承和多态在面向对象编程中,继承(也称为派生)让您能够创建新类,而这些类继承了父类(也称为基类)的特征和行为。...
    CarlDonitz阅读 4,294评论 0 2
  • Abstract 抽象类 当基类中存在某些方法一直不会被调用就可以考虑将该方法声明为抽象方法 抽象方法使用abst...
    fooliker阅读 3,610评论 0 1

友情链接更多精彩内容