07抽象类特点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07抽象类特点相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _07抽象类特点
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.抽象类、抽象成员必须标记为abstract,不能有实现,连大括号也不能有。
            //2.抽象成员必须在抽象类中。
            //3.抽象类不能被实例化,实例化后也没有用。
            //4.子类继承抽象类后,必须把父类中的抽象abstract成员都重写override。除非子类也是抽象类。

            //5.抽象成员访问修饰符不能是private
            //6.抽象类中可以包含实例成员。实例成员可以不被子类实现。
            //7.抽象类是有构造函数的,虽然不能被实例化。
            //8.如果父类抽象方法有参数,子类override重写时要传入对应参数,有返回值也类似有返回值。

            //父类方法有默认实现,父类需要被实例化时,可以考虑将父类定义为普通类,用虚方法实现多态。
            //父类没有默认实现,也不需要实例化,则将父类定义为抽象类。

            Student s = new Student();
            s.Say();
            s.Test("andu");
        }
    }

    abstract class Person
    {
        public abstract void Say();
        public abstract void Test(string name);
    }
    class Student : Person
    {
        public override void Say()
        {
            Console.WriteLine("呵呵");
        }

        public override void Test(string name)
        {
            Console.WriteLine("你好啊,{0}",name);
        }
    }

    abstract class Teacher : Person
    {

    }

}

 

以上是关于07抽象类特点的主要内容,如果未能解决你的问题,请参考以下文章

JAVA入门零基础小白教程day07_继承&抽象

抽象类特点

JAVA-初步认识-第九章-抽象类-特点

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

javaSE继承和抽象类

抽象类特点