abstract class和public abstract class两者区别
时间: 2023-09-05 13:11:38 浏览: 38
抽象类(abstract class)是一种不能被实例化的类,它只能被继承。它的目的是为了让其子类来实现其抽象方法,从而达到代码复用的目的。抽象类中可以包含抽象方法和具体方法。
public abstract class是一种抽象类,并且它是公共的,可以被其他类继承。在Java中,如果一个类是公共的,那么它可以被其他包中的类访问到。所以,如果你需要在不同的包中使用一个抽象类,那么你需要将它声明为public的。
因此,abstract class和public abstract class的区别在于前者只是一个抽象类,而后者是一个公共抽象类,可以被其他包中的类继承。
相关问题
public abstract class Person {
这是一个抽象类 Person 的定义,它表示一个人的概念。由于 Person 是抽象的,因此它不能被实例化,只能被继承。子类必须实现 Person 中定义的抽象方法。
抽象类通常用于定义一些通用的行为或属性,但是具体的实现需要在子类中完成。例如,在这个 Person 类中,可以定义一些通用的属性和行为,如姓名、年龄、性别、工作等,但是具体的人员类型,如学生、教师、医生等,需要在子类中实现。
public abstract class Student 这里为啥用abstract
在C#中,使用abstract关键字声明抽象类或抽象成员。抽象类是不能实例化的,只能被继承。抽象成员是没有实现的方法或属性,必须在派生类中被实现。在这个例子中,声明一个抽象类Student,很可能是因为这个Student类是一个基类,希望派生类来实现它的一些方法或属性。因为抽象类是不能被实例化的,所以我们必须创建一个派生类来继承它,并实现它的所有抽象方法,才能使用它。如果我们希望这个基类中的某些方法或属性必须被派生类实现,那么我们就可以将这些方法或属性声明为抽象成员。这样,派生类必须重写这些方法或属性才能进行实例化。