java接口学习笔记(java接口知识点)

  本篇文章为你整理了java接口学习笔记(java接口知识点)的详细内容,包含有java接口基础知识 java接口知识点 java接口总结 java接口技术 java接口学习笔记,希望能帮助你了解 java接口学习笔记。

  目录java接口学习笔记1. 抽象类和抽象方法2. 接口3. 抽象类和接口对比参考

  java接口学习笔记

  1. 抽象类和抽象方法

  抽象方法:abstract void f();

  抽象类:包含抽象方法的类称为抽象类。如果一个方法包含一个或多个抽象方法,则该类必须被定义为抽象类,否则编译器会产生错误消息。

  示例:

  

public abstract class Basic {

 

   abstract void unimplemented();

  

 

  不允许使用private abstract修饰方法,因为这样不能提供一个方法定义。

  允许方法定义(和抽象方法可以混合使用),允许非静态变量(在每个对象里都会被分配存储)。

  抽象类的继承:继承抽象类的新类型,如果要生成自己的对象,则必须要为基类中的所有方法提供方法定义。否则,子类也是抽象的,编译器强制你使用abstract关键字来限定这个子类。

  2. 接口

  接口通常暗示“类的类型”或作为形容词来使用,例如Runnable或Serializable,而抽象类通常是类层次结构的一部分,并且是“事物的类型”,例如String。

  abstract:默认不需要写,编译器会自动加上abstract,包括类和方法。

  字段:

  隐式的static和final,可以用来创建一组常量值;

  不能是空白的final,但是可以用非常量表达式初始化,例如Random.nextInt()

  @Override: 可以使用,防止意外重载。

  默认方法:default关键字,实现该接口的类可以沿用。

  JDK9+的版本中,接口里的static和default方法都可以是private的;

  示例:

  

 default void jim(){

 

   System.out.println("jim2");

  

 

  接口的多重继承和多重实现:

  使用方法签名(方法名请和参数类型)来区分不同的方法,返回类型不是签名的一部分;

  当方法签名一致,但是内容不同的时候,必须重写冲突的方法(多重implements的时候处理方式相同);

  可以多重继承接口;

  

public interface Jim1 {

 

   void jim();

  public interface Jim2 {

   default void jim(){

   System.out.println("jim2");

  public interface Jim3 extends Jim1,Jim2{

   @Override

   default void jim() {

   Jim1.super.jim();

  public class Jim implements Jim1,Jim2{

   @Override

   public void jim() {

   Jim2.super.jim();

  

 

  接口作为参数的价值在于可以让任何类都适应它。

  嵌套接口:参照《On Java基础卷》10.9

  接口的private方法:始于JDK9,private方法可以省略default关键字,编译器会加上。

  新特性:密封类和密封接口,始于JDK17,可以用来限制实现的类,主要用于Java模式匹配(JDK17新特性);

  3. 抽象类和接口对比

  
不能包含字段(静态字段除外,但他们不支持对象状态)

  可以包含字段,非抽象方法可以引用这些字段

  
默认方法不需要在子类型里实现,他只能引用接口里的方法(字段不行)

  抽象放合法必须在子类型里实现

  以上就是java接口学习笔记(java接口知识点)的详细内容,想要了解更多 java接口学习笔记的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: