首页 > 编程语言 > 详细

JAVA学习(final关键字,抽象类,接口,多实现)

时间:2021-03-28 17:15:51      阅读:18      评论:0      收藏:0      [点我收藏+]

一、final关键字

1.final是一个修饰符,可以修饰类,方法,变量

2.final修饰的类不可以被继承。

3.final修饰的方法不可以被覆盖。

4.final修饰的变量是一个常量,只能赋值一次。

写法规范:常量所有字母都大写,多个单词中间使用下划线连接。

二、抽象类

  抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

  由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

  在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  使用abstract class来定义抽象类:

例如:

public abstract class animal {
    abstract void roar();
}

public class dog extends animal{
    void roar(){
        System.out.println("汪汪");
    }
}

public abstract class wolf extends animal{
    void roar(){
        System.out.println("嗷嗷");
    }
}

特点:

1.方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中。该类也必须被abstract修饰。

2.抽象类不可以被实例化。

3.抽象类必须有其子类覆盖了所有抽象方法之后,该子类才可以实例化,否则该子类还是抽象类。

5.抽象类有构造函数,用于给子类对象进行初始化。

6.抽象类不能与private,static,final关键字共存。

 三、接口

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口interface

定义接口使用interface关键字,而不是class关键字

类与类之间是继承关系,类与接口之间是实现关系

对于接口常见的成员,这些成员都有固定的修饰符:

1.全局变量:public static final

2.抽象方法:public abstract

注意:

1.接口不可以实例化,只能有实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实现实例化,这个子类就是一个抽象类。

2.接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。

3.接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。

四、多实现

JAVA中不支持多继承,因为会出现调用的不确定性,所以JAVA将多继承机制进行了改良,形成了多实现。

一个类可以实现多个接口(一个类在继承另一个类的同时,还可以实现多个接口)

例如:

 

1.定义接口A:

技术分享图片

 

 2.定义接口B:

技术分享图片

 

 3.类Person可以实现多个接口:

技术分享图片

 

 实现方法Hello同时覆盖了两个接口中的抽象方法

 

JAVA学习(final关键字,抽象类,接口,多实现)

原文:https://www.cnblogs.com/gmangofight/p/14588632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!