java基础-抽象类和接口

     2022-03-16     511

关键词:


抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。

抽象定义:

  抽象就是从多个事物中将共性的,本质的内容抽取出来。
       例如:狼和狗共性都是犬科,犬科就是抽象出来的概念。

抽象类:

  Java中可以定义没有方法体的方法,该方法的具体实现由子类完
    成,该方法称为抽象方法,包含抽象方法的类就是抽象类。

抽象方法的由来:

  多个对象都具备相同的功能,但是功能具体内容有所不同,那么在
    抽取过程中,只抽取‘了功能定义,并未抽取功能主体,那么只有功
      能声明,没有功能主体的方法称为抽象方法。
        例如:狼和狗都有吼叫的方法,可是吼叫内容是不一样的。所以抽
           象出来的犬科虽然有吼叫功能,但是并不明确吼叫的细节。


抽象类的特点:

  抽象类和抽象方法必须用abstract关键字来修饰。

    抽象方法只有方法声明,没有方法体,定义在抽象类中。

      抽象类不可以被实例化,也就是不可以用new创建对象。原因如
        下:

          抽象类是具体事物抽取出来的,本身是不具体的,没有对应的实
          例。例如:犬科是一个抽象的概念,真正存在的是狼和狗。
          而且抽象类即使创建了对象,调用抽象方法也没有意义。

            抽象类通过其子类实例化,而子类需要覆盖掉抽象类中所有的抽象
            方法后才可以创建对象,否则该子类也是抽象类。

抽象类 总结:

  抽象类和普通类比较,除了多了一个抽象方法之外和不能实例之外没有什么不同。

基本的CODE如下:

package hwc.java.test;
/**
* 抽象类
*/
abstract class MyAbstract {
abstract void test();
abstract String lover();
}

继承类CODE如下:

package hwc.java.test;

public class MyAbstractExtends extends MyAbstract
{

@Override
void test() {
// TODO Auto-generated method stub

}

@Override
String lover() {
// TODO Auto-generated method stub
return null;
}

}

接口

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用接口 interface来代替。

原因就是 抽象类 只能当个继承而接口能 随意 实现

  接口中的成员修饰符是固定的:所以他只有两种 元素 成员变量 and 成员方法

接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。

  接口的特点 如下

    接口是对外暴露的规则。
    接口是程序的功能扩展。
    接口可以用来多实现。
    类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
    接口与接口之间可以有多继承关系。
    类可以同时继承抽象类和接口

基本code如下 :

package hwc.java.test;

interface MyInterface{
void test();
String lover();
}

package hwc.java.test;

interface MyInterface2{
void hwc();
String kei();
}

实现类

package hwc.java.test;

public class MyInterfaceImplements implements MyInterface,MyInterface2{

@Override
public void test() {
// TODO Auto-generated method stub

}

@Override
public String lover() {
// TODO Auto-generated method stub
return null;
}

@Override
public void hwc() {
// TODO Auto-generated method stub

}

@Override
public String kei() {
// TODO Auto-generated method stub
return null;
}

}

开发遵守一个原则 能用接口 打死不用抽象类。


























































java基础-抽象类和接口

抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。抽象定义:  抽象就是从多个... 查看详情

java基础5:抽象类和接口

本文主要介绍了抽象类和接口的特性和使用方法。具体代码在我的GitHub中可以找到https://github.com/h2pl/MyTech文章首发于我的个人博客:https://h2pl.github.io/2018/04/24/javase51抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己... 查看详情

java面试基础题------》抽象类和接口有什么异同

...以通过继承实现其抽象方法。*都是面向抽象编程的技术基础,实现了诸多的设计模式。不同点*接口支持多继承;抽象类不能实现多继承。*接口其中的抽象方法全部进行实现*接口只能定义抽象规则;抽象类既可以定义规则,还... 查看详情

java基础5:抽象类和接口(代码片段)

本节主要介绍了抽象类和接口的特性和使用方法。1.抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder.2.接口一般指一种规定,比如一个map接口中,可能需要实... 查看详情

12.java基础之抽象类和接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。     抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对... 查看详情

抽象类和接口(基础知识巩固)

深入理解Java的接口和抽象类  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它... 查看详情

《java基础系列》初步整理

《Java基础系列》初步整理大概有12篇,主要内容为。:抽象类和接口内部类修饰符装箱拆箱注解反射泛型异常集合IO字符串其他第一篇我们来聊聊抽象类和接口。“抽象类和接口”听起来是非常普遍的东西,有些朋友会觉得:这... 查看详情

java基础语法爆肝两万字解析java的多态抽象类和接口(代码片段)

文章目录一、多态1.向上转型2.动态绑定3.方法重写4.向下转型5.关键字super6.在构造方法中调用重写方法(坑)7.理解多态8.小结二、抽象类1.概念2.注意事项3.抽象类的意义3.抽象类的作用三、接口1.语法规则2.实现多个接口3.... 查看详情

java核心技术i---java基础知识(抽象类和接口)

一:抽象类(一)定义类:属性(0或多个)+方法(0或多个)一个完整(健康)的类:所有的方法都有实现(方法体)类可以没有方法,但是有方法就肯定要有实现,这才是一个完整的类一个完整的类才可以被实例化,被new出来如果一个类... 查看详情

java---抽象类和接口基础知识详解(及两者异同点)(代码片段)

    在本篇博客中将介绍JAVA里抽象类和接口的基础知识以及两者的异同点,在有继承和多态的基础知识上学习会更好~目录抽象类基础知识抽象类的定义、创建等基础抽象类的几点说明(一) 为何使用抽象方法抽象... 查看详情

java基础相关

1.接口和抽象类1).接口的特点2).抽象类特点3).接口和抽象类相同点4).接口和抽象类的区别2.抽象类和普通类的区别1.接口和抽象类1).接口的特点不能实例化没有构造方法方法默认publicabstract修饰变量默认publicstaticfinal修饰2).抽象类... 查看详情

抽象的基础类和接口(代码片段)

设计程序时,我们经常都希望基础类只为自己的衍生类提供一个接口。也就是说,我们不想其他任何人实际创建基础类的一个对象,只对上溯造型成它,以便使用它们的接口。为达到这个目的,需要把那个类变成“抽象”的——... 查看详情

java抽象类和接口

interfaceIo{   //接口,默认publicvoidspeak();}abstractclassA{//抽象类publicvoidshow(){System.out.println("Helloworld");    //普通方法}abstractvoidshowTime();    //抽象方法}publicclassTestimplementsIo{    //实现接口public 查看详情

java语言中的----抽象类接口

...的继承功能,这个是一个核心知识点,今天我们再继承的基础之上学习一下抽象类和接口这两个知识。什么是抽象类?如何定义一个抽象类?如何使用一个抽象类?这些都是我们需要掌握的。    同时我们还要知道... 查看详情

java抽象类和接口

**********************第九章抽象类和接口************************** **************************抽象类**************************一.why什么时候想到使用抽象类需求:矩形、三角形、圆形方法:1.求周长2.求面积3.说出我有几条边4.简单的介绍我自己打印... 查看详情

java抽象类和接口

***********************体会接口的好处*******************************一.可维护、可扩展面向接口编程接口:父类型面向父类编程 二.解耦高内聚、低耦合耦合:类和类之间的关系...只要类和类之间有四种关系就是耦合(关联、继承、实现、... 查看详情

[转]java抽象类和接口

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象... 查看详情

java基础相关(代码片段)

1.接口和抽象类1).接口的特点2).抽象类特点3).接口和抽象类相同点4).接口和抽象类的区别2.抽象类和普通类的区别3.“==”和equals的区别4.Set和Map区别5.互斥锁与同步锁的区别6.读写锁7.session和cookie的区别8.重写和重载9.内存溢... 查看详情