【Java】抽象类_接口_最终类

简介: 【Java】抽象类_接口_最终类

类的用途

       1.放置静态属性、静态方法的地方                                


       2.用来实例化对象的模板                                              


       3.用来供其他人继承


抽象类——只可被继承

1.语法:


       在定义类的时候,添加 abstract 修饰,这个类就是抽象类


2.java中赋予了抽象类一项新的能力(普通类不具备)


       抽象类中允许定义一些方法,但没有被实现(没有方法体、只是声明),这些方法是专门留给子类去实现的,这些方法被称为抽象方法


接口——完全可以被理解成特殊的抽象类


       接口和抽象类一样,不能被实例化,只可被继承


       只能出现方法,这些方法,默认是抽象方法,并且被public所修饰


       从某些方向讲:接口是一个极端的抽象类(全部只有抽象方法的抽象类)


定义接口


       关键字:interface

public interface Flyable {
    void fly();
}

        void  fly()     默认视为        public  abstract  void  fly()

接口的功能是被实现

关键字:implements

public class 麻雀 implements Flyable {
    @Override
    public void fly() {
    }
}

接口本身也允许被继承,继承自另外的接口,同时允许多继承

interface A { void a(); }
interface B { void b(); }
interface z extends A,B { void z(); }

由于接口Z继承自接口A和接口B,所以,最终Z中有的抽象方法是 a()、b()、z()


最终类——只能实例化对象,不能被继承

通过 final 修饰类,表示最终类


public final class TestClass{
    public void a(){
    }
}

接口 VS 抽象类

相同点

1)不能被实例化

2)允许出现抽象方法


不同点

1)接口只能出现抽象方法,其他的内容通通没有


2)普通类和抽象类之间的关系是继承(extends)关系,只能单继承


     普通类和接口之间的关系是实现(implements)关系,允许一个类实现多个接口


3)接口和接口之间也允许继承关系,允许多继承


4)抽象类中可以有属性、普通方法,接口中只能出现抽象方法(默认都是public)


5)类总归还是描述一类事物,接口大多描述的是一组能力


5.png


目录
相关文章
|
6天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
15天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
37 17
|
6天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
7天前
|
Java
java线程接口
Thread的构造方法创建对象的时候传入了Runnable接口的对象 ,Runnable接口对象重写run方法相当于指定线程任务,创建线程的时候绑定了该线程对象要干的任务。 Runnable的对象称之为:线程任务对象 不是线程对象 必须要交给Thread线程对象。 通过Thread的构造方法, 就可以把任务对象Runnable,绑定到Thread对象中, 将来执行start方法,就会自动执行Runable实现类对象中的run里面的内容。
22 1
|
10天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
50 4
|
13天前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
40 4
|
11天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
27 2
|
16天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
17天前
|
Java
Java基础(13)抽象类、接口
本文介绍了Java面向对象编程中的抽象类和接口两个核心概念。抽象类不能被实例化,通常用于定义子类的通用方法和属性;接口则是完全抽象的类,允许声明一组方法但不实现它们。文章通过代码示例详细解析了抽象类和接口的定义及实现,并讨论了它们的区别和使用场景。
|
1月前
|
安全 Java 数据安全/隐私保护
【一步一步了解Java系列】:探索抽象类与接口的秘密
【一步一步了解Java系列】:探索抽象类与接口的秘密
25 3