欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java基础巩固抽象类与接口详解,

来源: javaer 分享于  点击 47877 次 点评:76

Java基础巩固抽象类与接口详解,


目录
  • 1、抽象类
    • 1.1、什么是抽象类
    • 1.2、抽象类的用法
    • 1.3、抽象类特点(限制条件)
  • 2、接口
    • 2.1、什么是接口
    • 2.2、接口的用法
    • 2.3、如何使用接口
    • 2.4、接口的特点(限制条件)
    • 2.5、如何实现多个接口
    • 2.6、接口于接口之间的继承关系
    • 2.7、如何使用接口

抽象类与接口

1、抽象类

1.1、什么是抽象类

如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

1.2、抽象类的用法

一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。

abstract class Shape{
   /* public String name;
    public int age;
    public void func(){
        System.out.println("ada");
    }
    public static void func2(){
        System.out.println("akjdhkjasd");
    }*/
    public abstract void draw();//抽象方法
}

注意:抽象类也是类,内部可以包含普通方法和属性,甚至构造方法

1.3、抽象类特点(限制条件)

1、使用abstract 修饰的类,就是抽象类

2、使用abstract 修饰的方法,就是抽象方法

3、抽象类不能够进行实例化new 抽象类();

4、里面的成员变量和成员方法都是和普通类是一样的,只不过就是不能进行实例化了

5、当一个普通的类,继承这个抽象类之后,那么这个普通类,必须重写这个抽象类当中所有的抽象方法。

6、抽象类存在的最大的意义就是为了被继承

7、抽象类也可以发生向上转型进一步发生多态

8、当一个抽象类A继承了抽象类B,此时抽象类A可以不重写抽象类B当中的方法

9、当一个普通的类C继承了第8条的A,此时就得重写所有的抽象方法

10、 final不能修饰抽象方法和抽象类

11、抽象方法也不能是private的

12、抽象类当中不一-定有抽象方法,但是如果这个方法是抽象方法,呢么这个类- -定是抽象类

代码示例:

abstract class Shape{
   /* public String name;
    public int age;
    public void func(){
        System.out.println("ada");
    }
    public static void func2(){
        System.out.println("akjdhkjasd");
    }*/
    public abstract void draw();//抽象方法
}
abstract class A extends Shape{  //当一个抽象类A继承抽象类Shape时,可以不重写抽象类Shape中的方法
    public abstract void func();
}
class B extends A{  //出来混迟早得还,父类没有重写  你全写
    @Override
    public void draw() {
    }
    @Override
    public void func() {
    }
}
class Circle extends Shape {  //普通类继承了抽象类(内有抽象方法),这里报错,  必须重写Shap类当中的抽象个方法
    @Override
    public void draw() {
        System.out.println("⚪");
    }
}
class Rect extends Shape {
    @Override
    public void draw() {
        System.out.println("♦");
    }
}
class Triangle extends Shape {
    @Override
    public void draw() {
        System.out.println("
相关栏目:

用户点评