如何把电脑改成服务器 做网站,微信网站背景图片,中国建筑招标投标网官网,WordPress禁用f12抽象类概念
在面向对象的概念中#xff0c;所有的对象都是通过类来描绘的#xff0c;但是反过来#xff0c;并不是所有的类都是用来描绘对象的#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象#xff0c;这样的类就是抽象类.
此外还有抽象方法这个概念 …抽象类概念
在面向对象的概念中所有的对象都是通过类来描绘的但是反过来并不是所有的类都是用来描绘对象的如果一个类中没有包含足够的信息来描绘一个具体的对象这样的类就是抽象类.
此外还有抽象方法这个概念 在打印图形例子中, 我们发现, 父类 Shape 中的 draw 方法好像并没有什么实际工作, 主要的绘制图形都是由 Shape 的各种子类的 draw 方法来完成的. 像这种没有实际工作的方法, 我们可以把它设计成一个 抽象方法(abstract method), 包含抽象方法的类我们称为 抽象类(abstract class) 注意抽象类可以不含有抽象方法但含抽象方法的类必须为抽象类。
所以讲完了它的概念我们就开始它的语法吧。 抽象类语法 在Java中一个类如果被 abstract 修饰称为抽象类抽象类中被 abstract 修饰的方法称为抽象方法抽象方法不用给出具体的实现体。一个抽象类内可以不含抽象方法。
// 抽象类被abstract修饰的类
public abstract class Shape {// 抽象方法被abstract修饰的方法没有方法体abstract public void draw();abstract void calcArea();// 抽象类也是类也可以增加普通方法和属性public double getArea(){return area;}protected double area; // 面积
}
注意抽象类也是类内部可以包含普通方法和属性甚至构造方法。但是肯定有一些不同的特性跟正常类相比。所以接下来我们就介绍下抽象类特性。 抽象类特性 1.抽象类不能实例化创建对象 shape此时为抽象类类型所以这时用它实例化创建对象就报错了。
所以抽象类的出现就是要被继承只有继承了抽象类才能使用它。 2. 如果有抽象方法存在于抽象类中则它的子类就必须重写这个抽象类中的所有抽象方法不然报 错当然也可以用abstract修饰使子类也变为抽象类这时就轮到子类的子类去重写完两个抽象类中的所有抽象方法如果没有重写完就会报错。
作者的扩展
抽象类的子类即使被abstract修饰了它也能对其父类中的抽象方法进行重写如果全部重写完了则其子类的子类就可以不用重写了你想重写也可以不必多此一举 同理如果重写了部分抽象方法则子类的子类只要重写另一部分的抽象方法就行。当然你还想再重写已经重写过的抽象方法也可以 3.因为子类抽象方法需要被重写所以它的子类抽象方法不能被finalprivatestatic修饰 4.抽象类中可以有构造方法供子类创建对象时初始化父类的成员变量 5.抽象类中不一定包含抽象方法但是有抽象方法的类一定是抽象类多次强调了 6.抽象方法不能被调用注意是抽象类中的抽象方法不是重写的方法调用了抽象类中的抽象方法的话就会直接被系统说报错。 抽象类的作用 好了所以抽象类和接口的抽象类部分就结束了之后将给大家带来接口部分的讲解。还希望家人们能给作者点一个小小的赞评个论互关下这对我真的很重要互相帮助互相进步呀