【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


目录
相关文章
|
1天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
14 6
|
1天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
【10月更文挑战第16天】Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。通过 hashCode() 和 equals() 方法实现唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 添加和遍历元素,体现了 Set 的高效性和简洁性。
11 4
|
3天前
|
IDE Java 编译器
Java:如何确定编译和运行时类路径是否一致
类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
|
3天前
|
存储 Java 数据处理
Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。
Java Set:无序之美,不重复之魅!Set 是 Java 集合框架中的一个接口,不包含重复元素且不保证元素顺序。它通过 hashCode() 和 equals() 方法确保元素唯一性,适用于需要唯一性约束的数据处理。示例代码展示了如何使用 HashSet 实现这一特性。
12 5
|
1天前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
7 2
|
2天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
10 2
|
3天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。
【10月更文挑战第14天】从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。本文深入探讨Set的核心理念,并通过示例代码展示了HashSet和TreeSet的特点和应用场景。
9 2
|
2月前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
53 7
|
2月前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
2月前
|
安全 Java
【Java集合类面试三】、Map接口有哪些实现类?
这篇文章介绍了Java中Map接口的几种常用实现类:HashMap、LinkedHashMap、TreeMap和ConcurrentHashMap,以及它们适用的不同场景和线程安全性。