抽象类
继承可以从原有的类里面派生出新的类,原有的类称为 基类或者父类,而新的类称为子类或者派生类。通过继承机制java中派生出的类不仅可以保留父类的方法功能,并且还可以拥有更多的功能。而在java中可以创建一种专门的类来当做父类,这种类称为抽象类。所以抽象类的作用就可以类似于模板,其目的是依据它的的格式来修改并创建新的类。
抽象类使用规则和一些定义:
包含一个抽象方法的类是抽象类
抽象类和抽象方法都要使用abstract声明
抽象方法只需声明不需要实现
抽象类必须被继承,子类(不是抽象类时)必须重写抽象类中的所有的方法
抽象类的定义格式:abstract class 抽象类名称{
属性;
访问权限 返回值 方法名称(参数){} //普通方法
访问权限 abstract 返回值类型 方法名称(参数);//抽象方法 抽象方法没有方法体
}
所以从格式上看的话抽象方法和普通方法并没有很大区别 只是 多了抽象的方法
例如:public class A {
private String name =”ming ”;
public String getName(){return name }
public void setName(String name ){this.name =name } //普通方法
public abstract void print(); //抽象方法
}
子类继承父类 覆写父类中抽象方法
Public class B extends A{
public abstract void print(){System.out.println(“你好”);}
}
根据以上可以知道 1.抽象类不能被final的关键字修饰。因为被final声明之后就不能被继承而抽象类必须被子类覆写
2.显然同时抽象方法不能被private声明是同一样的原因
接口
接口可以理解是一种特殊的类,这个类是由常量和抽象的方法组成的
定义格式:interface 接口名称{
常量 ;如(public static final)String name=”nihao ”;l
抽象方法;(public abstract )void print():
}同理接口中的方法也是public访问权限 不管有没有写。
public static final;public abstract可以不写 而在抽象类中抽象方法的abstract不能省。
子类通过implements实现接口,也必须覆写接口中的方法。从而摆脱了java中的单继承的局限性。
分享到:
相关推荐
在Java编程语言中,抽象类是用来作为其他类的基类,它定义了一组抽象方法,这些方法必须在子类中实现。由于抽象类自身不能被实例化,这意味着你不能使用`new`关键字直接创建一个抽象类的对象。然而,尽管不能直接...
根据给定的信息,我们可以深入探讨C++中的抽象类与继承机制。下面将详细介绍如何通过抽象类和继承在C++中实现特定的功能。 ### 概述 在这个示例中,我们有三个具体的类:`Student`、`Lecture` 和 `Module`,它们都...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
在深入探讨Java抽象类与抽象方法之前,我们首先需理解其基本概念以及它们在面向对象编程中的作用。Java作为一种广泛使用的编程语言,提供了多种机制来实现代码的复用性和灵活性,其中抽象类和抽象方法是关键特性之一...
### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...
这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有声明没有实现的方法,可以视为没有方法体的虚方法。例如: ```csharp public ...
今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...
在这个系统中,"表面积和体积_抽象类Shape_shape类继承_"这个主题涉及到的是OOP中的一个重要概念——抽象类和类的继承。 首先,让我们来理解抽象类(Abstract Class)。抽象类是一种特殊的类,它不能被实例化,主要...
在IT行业中,设计和实现一个宠物系统是一种常见的实践,它可以帮助我们学习和理解面向对象编程的概念,特别是如何利用抽象类来构建系统。本系统以Java为编程语言,它利用了抽象类来定义宠物的基本属性和行为,使得...
在这个实验中,我们探讨了如何使用Java编程语言来创建和使用抽象类以及继承的概念。抽象类Shape被设计为一个基础类,它定义了两个抽象方法:`getArea()` 和 `getPerimeter()`,用于计算形状的面积和周长。抽象方法在...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...
在C#编程语言中,抽象类(abstract class)和抽象方法(abstract method)是面向对象设计中的关键概念,它们主要用于支持多态性。抽象类是一种特殊的类,它不能被实例化,只能作为其他类的基类。抽象方法则是没有...
抽象类在计算机编程,尤其是面向对象编程中,是一种重要的概念,它用来表示一种不完整的类,其中包含了未实现的方法,通常用于定义一个类族的通用行为。在Java中,抽象类是通过使用`abstract`关键字来标识的。下面将...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
接口与抽象类区别 在软件开发中,接口和抽象类是两个常用的概念,但它们之间的区别却让许多人感到困惑。那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是...
### Java利用接口和抽象类改写求圆的面积和梯形的面积 #### 深入理解Java的接口和抽象类 在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性和代码复用的重要概念。它们都无法被...
在.NET框架中,抽象类是面向对象编程的一个关键概念,它是用来定义一组接口或提供部分实现的类。抽象类不能直接实例化,只能被作为其他类的基类,这些子类将继承抽象类的特性并可能完成剩余的实现。本教程通过一个...
### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...
C#中的抽象类是面向对象编程的一个重要概念,它是一种特殊类型的类,设计用来作为其他类的基类。抽象类的主要特点是它不能被实例化,即不能直接创建抽象类的对象。这种特性使得抽象类成为定义接口和实现部分共享行为...
类可以分为抽象类和具体类,以及主动类和非主动类。 1. **抽象类与具体类**: 抽象类(abstract classes)是一种特殊的类,它通常包含了抽象方法(即没有实现的方法)或者没有完全定义的行为。抽象类不能直接实例...