首页 > 编程语言 >Java学习 (25) 对象篇(05)抽象类&接口

Java学习 (25) 对象篇(05)抽象类&接口

时间:2022-08-21 13:44:32浏览次数:92  
标签:25 Java name 05 void 接口 抽象类 public String

目录

抽象类

  • abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。
  • 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。

语法实例

// abstract 抽象类  单继承
public  abstract class Action {

    //约束,可以多人实现
    //abstract 抽象方法,只有方法名字,没有方法的实现
    public abstract void doSomething();
}
//抽象类的所有方法继承了他的子类都必须要实现他的方法,除非子类也是抽象的
// public abstract class A extends Action{}

public class A extends Action{
    @Override
    public void doSomething() {

    }
}

注意点

  • 不能new这个抽象类,只能靠子类去实现它

  • 抽象类中可以写普通方法,但抽象方法一定在抽象类中

  • 抽象类可以作为一个模板来使用,从而减少开发效率

具体讲解视频(狂神说Java)

面向对象15:抽象类_哔哩哔哩_bilibili


接口

  • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能.….”的思想

  • 接口的本质是模型

  • 编程的精髓,是对对象的抽象,最能体现这一点的就是接口

  • 接口的实现

    • 类可以通过 implements 来实现接口中的定义类
    • 要实现接口中的类,必须要实现(重写)接口中的方法
    • 可以利用接口来实现多继承

语法实例

public interface User {
    //接口中的所有定义的属性都是抽象的 public static final
    int age = 10;

    //接口中的所有定义的方法都是抽象的 public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}
package com.luo.oop.demo11;

public interface Timer {
    void timer();
}
package com.luo.oop.demo11;


public class UserImpl implements User, Timer {
    public void add(String name){}
    public void delete(String name){}
    public void update(String name){}
    public void query(String name){}

    public void timer() {}
}

具体讲解视频(狂神说Java)

面向对象16:接口的定义与实现_哔哩哔哩_bilibili

标签:25,Java,name,05,void,接口,抽象类,public,String
From: https://www.cnblogs.com/fengye0518/p/16609884.html

相关文章

  • cf1254 B2. Send Boxes to Alice (Hard Version)
    题意:给定非负数组,每次操作可以选一个\(a_i\neq0\),令\(a_i\)减一,\(a_i\)相邻的一个数(如果存在)加一。问最少几次操作能使所有数有\(>1\)的公因数\(n,a_i\le1e6\)......
  • Java学习第一天
    在有C/C++基础的前提下,进行Java学习。 参考教程:https://www.bilibili.com/video/BV18V411W7oc?p=9&share_source=copy_web 垃圾收集GarbageCollection:Java有自动......
  • JAVA对象与JSON转换的各种方法-fastjson
    1<!--https://mvnrepository.com/artifact/com.alibaba/fastjson-->2<dependency>3<groupId>com.alibaba</groupId>4<artifactId>fastjson</artifactId>......
  • Python小游戏——外星人入侵(保姆级教程)第一章 05
    系列文章目录第一章:武装飞船05:重构:模块game_functions一、重构在大型项目中,经常需要在添加新代码前重构既有代码。重构旨在简化既有代码的结构,使其更容易扩展。在本节......
  • Java基础知识
    注释(comment)单行注释://多行注释:/**/文档注释:/***/,javadoc命令可以抽取每个类,方法的文档注释,生成API文档关键字(keyword)关键字是指在程序中已经有特定含......
  • Java学习 (24) 对象篇(04)static关键字
    目录static关键字语法实例代码块语法实例引用库语法实例static关键字static在类中修饰成员变量,在方法中则修饰成员方法static在属性中叫做静态属性,在方法中叫做静态......
  • JAVA基础--运算符--2022年8月20日
    第一节1、算数运算符有哪些+ - * / %2、/需要注意什么,为什么?两个整数相除,结果一定也是整数,因为最高类型是整数 第二节把数字321拆分成3  2......
  • JavaScript(上)
    说说你对作用域链的理解作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上访问,变量访问到window对象即被终止,作用域链向下访问变......
  • JSON数据和Java对象的相互转换
    JSON数据和Java对象的相互转换JSON解析器创建的解析器:Jsonlib,Gson,Fastjson,jacksonJSON转为Java对象使用步骤:导入jackson相关的jar包创建Jackson革新对象Obje......
  • Java后端开发需要学什么?
    Java基础Java是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的oop特性:封装、继承、多态。此外还有泛型、反射的特性,很多框架的技术都依赖它,比如S......