【Java】抽象类(abstract)、接口(interface)

简介: 【Java】抽象类(abstract)、接口(interface)

前言

写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之!


一、抽象类

抽象类类中可以没有抽象方法,但如果有抽象方法,则该类一定是抽象类。抽象方法只写方法的声明,具体实现交给子类(非抽象类)去实现。

public abstract class Abstract {
    public abstract void run();
}

如上,声明了一个run的抽象方法,具体的实现交给子类。

public class Demo01 extends Abstract{
        @Override
        public void run()
        {
            System.out.println("一直努力的向前奔跑");
        }
}

子类需要先继承抽象类(extends),然后重写父类中所有的抽象方法。

抽象类的特点:
    1、抽象类中没有构造方法,所以不能够直接实例化对象

    2、抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。

    3、抽象方法需要一个非抽象子类,来继承,重写方法。

    4、抽象类只能单继承,不能够多继承(Class cannot extend multiple classes)

二、接口

接口的本质是契约,最主要的重要是约束和实现的分离
创建一个接口

public interface Demo02interface {
    void walk();
}

用到interface关键字,它和class是同级的。

1、接口中没有构造方法,所以不能直接实例化对象,interface
2、接口中只有常量 public static final
3、接口中不能写方法体
4、所有的方法默认都是抽象的
5、子类需要用implements来使用接口,同时要重写(@Override)接口的方法
6、接口可以实现多继承 接口要用,来分隔(多继承确实牛啊)

接口的多继承

public class Demo03 implements Demointerface,Demo02interface{
    @Override
    public  void run()
    {
        System.out.println("我一直在努力的奔跑");
    }
    public void walk()
    {
        System.out.println("走累了,就歇一会");
    }
}

总结

前路茫茫,与君共勉 安静的进步,快乐的学习

相关文章
|
19天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
10天前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
37 1
|
20天前
|
Java
java线程接口
Thread的构造方法创建对象的时候传入了Runnable接口的对象 ,Runnable接口对象重写run方法相当于指定线程任务,创建线程的时候绑定了该线程对象要干的任务。 Runnable的对象称之为:线程任务对象 不是线程对象 必须要交给Thread线程对象。 通过Thread的构造方法, 就可以把任务对象Runnable,绑定到Thread对象中, 将来执行start方法,就会自动执行Runable实现类对象中的run里面的内容。
36 1
|
26天前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
44 4
|
1月前
|
Java
Java基础(13)抽象类、接口
本文介绍了Java面向对象编程中的抽象类和接口两个核心概念。抽象类不能被实例化,通常用于定义子类的通用方法和属性;接口则是完全抽象的类,允许声明一组方法但不实现它们。文章通过代码示例详细解析了抽象类和接口的定义及实现,并讨论了它们的区别和使用场景。
|
2月前
|
安全 Java 数据安全/隐私保护
【一步一步了解Java系列】:探索抽象类与接口的秘密
【一步一步了解Java系列】:探索抽象类与接口的秘密
26 3
|
3月前
|
Java
Java——抽象类和接口
抽象类是一种不能被实例化的类,至少包含一个抽象方法(无实现体的方法),常用于定义一组相关类的共同特征,并强制子类实现特定方法。抽象方法不能被 `static` 或 `final` 修饰,且必须被重写。 接口则是一个完全抽象的类,用于规范类的行为。接口使用 `interface` 关键字定义,不能实例化,并且类与接口之间是实现关系。 内部类是在一个类内定义的类,分为成员内部类、静态内部类、局部内部类和匿名内部类。成员内部类可被修饰符修饰,静态内部类只能访问外部类的静态成员,局部内部类定义在方法内,匿名内部类则隐藏了名字,直接通过 `new` 关键字定义并实现接口或继承类。
24 5
Java——抽象类和接口
|
2月前
|
Java
Java中抽象类和接口有什么区别?
本文阐述了Java中抽象类和接口的区别,包括类型扩展、方法/属性访问控制符、方法实现、使用目的等方面的不同,并提供了抽象类和接口的使用示例,以及Java中其他类型的类(普通类、内部类等)的简介。
115 0
Java中抽象类和接口有什么区别?
|
2月前
|
Java 编译器
【Java】用一个动物王国的例子,讲清楚抽象类和接口
【Java】用一个动物王国的例子,讲清楚抽象类和接口
29 0
|
4月前
|
Java 开发者
Java抽象类与接口的正确使用姿势!别再写错代码了!
Java抽象类与接口的正确使用姿势!别再写错代码了!
44 3