+ 3
Firstly I would say the similarity is that you cannot create an instance of both classes.
The first difference is that a static class is marked static and an abstract class is marked by the abstract keyword.
Variables an methods in a static class are all marked as static.
Abstract methods in an abstract class do not have a method defination.
eg
static class Solo
{
public static void LearnStatic()
{
Console.WriteLine("I am Learming");
}
abstract class Learn
{
public abstract public static void LearnStatic();
}