abstract(抽象)修饰符,可以修饰类和方法
1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。
注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类
abstract class E{
public abstract void show();//public abstract 可以省略
}
然后其它类如果继承它通常为了实现它里面的方法
class F extends E{
void show(){
//写具体实现的代码
}
}
最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如
E e=new F();
e.show();
实际调用了子类里面的show()方法
分享到:
相关推荐
这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...
### Java中的Abstract Class与Interface详解 #### 一、面向对象设计的重要性及抽象的概念 面向对象设计的核心在于抽象,这是衡量软件设计质量的关键因素之一。良好的软件设计不仅体现在高效的底层实现上,更重要的...
`ConcreteClass`是`AbstractClass`的子类,实现了`doSomething()`方法,并在`main`方法中创建了`ConcreteClass`的对象,调用了继承自抽象类的方法。 抽象类的主要用途包括: 1. **封装变化**:抽象类可以封装可能...
例如,C#有属性(properties),而Java使用getter和setter方法;C#有接口(interfaces)和抽象类(abstract classes),Java只有接口。`C# to Java Converter.zip`可能是另一个转换工具,用于帮助开发者将C#代码转换...
Abstract 类和方法是 Java 编程语言的重要组成部分,它们在面向对象编程(OOP)中扮演着关键角色。 Abstract 类和方法提供了一种方式来定义蓝图,供其他类继承和实现。 Abstract 类是一种特殊的类,它不能被实例化...
在Java编程语言中,`interface`接口和`abstract class`抽象类是两种重要的面向对象设计概念,它们都用于实现多态性,但有着显著的区别。理解这些差异对于编写可扩展和可维护的代码至关重要。 首先,接口是完全抽象...
在Java编程语言中,对图片进行180度旋转是一项常见的图像处理操作,这通常涉及到对像素数据的重新排列。以下是一些关于如何在Java中实现这个功能的关键知识点: 1. **Java AWT 和 Swing 图像处理库**: Java提供了...
抽象类是指使用abstract关键字修饰的类,抽象类中的方法可以是抽象的,也可以是具体的。抽象类的主要作用是将父类的某些方法不确定时,可以用abstract关键字来修饰该方法,使其成为抽象方法。抽象类也可以包含具体的...
`Image`和`BufferedImage`是Java AWT(Abstract Window Toolkit)和Swing库中的两个重要类,它们分别用于处理图像的不同方面。本篇文章将详细探讨如何将`Image`对象转换为`BufferedImage`,以及这样做的原因和好处。...
最后,我们使用`getActualTypeArguments()`方法获取Type对象中的实际类型参数,然后将其强制转换为Class对象。 四、泛型的使用场景 泛型可以应用于多种场景中,例如: * 集合框架:泛型可以用于集合框架中,例如...
通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...
Java 编程中常用修饰词使用方法 Java 语言中定义了 11 个常用的修饰词,每个修饰词都有其特定的使用场景和作用。下面对这 11 个 Java 修饰词进行详细的介绍: 1. public 修饰词 修饰对象:类、接口、成员 介绍:...
标题 "Data Abstract for JAVA 多帐套例子" 涉及到的是在Java开发中使用Data Abstract(DA)框架进行多账套管理的一个实例。Data Abstract是RemObjects Software公司开发的一款强大的数据访问中间件,它允许开发者在...
【一周学会C#——java程序员转.NET必看】 C#是一种由微软开发的面向对象的编程语言,设计用于.NET Framework上。对于从Java转到.NET平台的程序员来说,理解C#的基本概念和语法是非常重要的。以下是一些关键知识点:...
4. **方法访问类型**:抽象类中的抽象方法可以具有不同的访问修饰符(如`public`、`protected`或默认访问级别),而接口中的方法默认为`public abstract`,并且只能是`public`类型。 5. **静态方法和成员变量**:...
- 加载图片:使用`ImageIO.read()`方法从文件中读取图片到`BufferedImage`对象。 - 创建`AffineTransform`对象:通过`AffineTransform.getRotateInstance()`方法创建一个旋转变换,传入旋转中心点的坐标和旋转角度...
本教程将深入讲解Java AWT(Abstract Window Toolkit)库中的Button和TextField组件,以及如何在实际应用中使用它们。适合对Java GUI编程感兴趣的初学者。 首先,我们来了解`Button`组件。在Java AWT中,`Button`是...
在事件处理方法中,我们可以更新旋转角度并调用组件的`repaint()`方法,请求GUI重新绘制。 5. **坐标系统与变换**:理解Java的坐标系统至关重要,原点通常位于组件的左上角。在进行旋转时,我们需要确保知道图像的...
- 接口中的方法默认是 `public abstract`。 - 一个类可以实现多个接口。 - 实现接口的类需要提供接口中所有抽象方法的具体实现。 - 接口不能被实例化。 #### 示例: ```java interface Shootable { void ...