黑马程序员技术交流社区

标题: 实例化的问题 [打印本页]

作者: 赵学辉    时间: 2012-7-11 08:06
标题: 实例化的问题
是不是用abstract定义了抽象类的类名可以去实例化任意一个类的对象(没有继承这个抽象类)??
请高手细说一下!!
作者: 许庭洲    时间: 2012-7-11 09:16
1,所谓实例化某个类,要么new一个对象,要们反射一个对象实例,这个过程才称为类的实例化;
2,C#明确规定抽象类不可以实例化,但可以包含实例成员;
3,抽象成员不能实例化,必须由继承它的子类(派生类)来重写它的抽象成员。
作者: 古古头    时间: 2012-7-11 09:45
不是的,比如下面定义的三个类:
public abstract class Person{}//人类
public class Student : Person{}//学生类
public class HighSchoolStudent : Student{}//高中生类
public class Dog{}//狗类
Person p1 = new Student();//合法
Person p2 = new HighSchoolStudent();//合法
Person p3 = new Dog();//这是不合法的
也就是说只有抽象类的直接或间接子类能作为此抽象类的的实例
作者: 。_Smileヾ淡莣    时间: 2012-7-12 23:32
抽象类不能实例化;
实例化是指某个类,使用new一个对象,要们反射一个对象实例,这个过程才称为类的实例化;
如果想对一个抽象类实例化;只能实例化他的子类或者孙子类;需要继承这个类或者实现;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2