平凡之上
博观而约取,厚积而薄发! 守得云开见月明。

# 2021-12-16

5、抽象类和接口

(1) 抽象类

使用abstract。

  • 抽象类中可以写普通方法。
  • 抽象方法必须在抽象类中。
  • 不能实例化(new)抽象类,只能依靠子类去实现。

一个类只能继承一个抽象类,而一个类却可以实现多个接口。

抽象方法:

Abstract 关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。

抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。

声明抽象方法会造成以下两个结果:

  • 如果一个类包含抽象方法,那么该类必须是抽象类。
  • 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。

继承抽象方法的子类必须重写该方法。否则,该子类也必须声明为抽象类。最终,必须有子类实现该抽象方法,否则,从最初的父类到最终的子类都不能用来实例化对象。

转载:菜鸟教程,参考抽象类和接口:https://www.runoob.com/w3cnote/java-abstract-interface-different.html

(2) 接口

一个类通过继承接口的方式,从而来继承接口的抽象方法。

接口可以多继承

使用关键字 interface 定义接口,使用 implements 实现接口。

接口中的变量会被隐式地指定为 public static final 变量(并且只能是 public static final变量,用 private 修饰会报编译错误),而方法都是抽象的,会被隐式地指定为 public abstract 方法且只能是 public abstract 方法。

6、内部类

Java 一个类中嵌套另外一个类,语法格式如下:

class OuterClass {   // 外部类
    // ...
    class NestedClass { // 嵌套类,或称为内部类
        // ...
    }
}

 

posted on 2021-12-16 16:36  平凡之上  阅读(30)  评论(0编辑  收藏  举报