zoukankan      html  css  js  c++  java
  • 总结接口与类和抽象类的关系

    1.***接口
    (1)成员特点:
    成员变量
    只能是常量 默认修饰符 public static final
    构造方法
    没有构造方法,因为接口主要是扩展功能的,而没有具体存在
    成员方法
    只能是抽象方法 默认修饰符 public abstract

    2.***类与类,类与接口以及接口与接口的关系
    类与类:单继承,多层次
    public class A extends B{} public class B extends C{}

    类与接口:多实现
    public class A implements 接口1,接口2{}

    接口与接口:多继承
    public interface 接口1 extends 接口2,接口3{}

    同时存在继承,实现:先继承,后实现 。
    public class A extends 类 implements 接口1,接口2{}

    3.***面试题:抽象类和接口的区别? / abstract class和interface的区别 ?
    子类: 单一继承 多重实现
    构造器: 抽象类可以有构造器 接口不能有构造器
    与正常Java类的区别: 除了你不能实例化抽象类之外,它和普通Java类没有任何区别
    接口是完全不同的类型 :
    访问修饰符:抽象方法可以有public、protected和default这些修饰符 .
    接口方法默认修饰符是public。你不可以使用其它修饰符。
    main方法:抽象方法可以有main方法并且我们可以运行它
    接口没有main方法,因此我们不能运行它。
    多继承:抽象类可以继承一个类和实现多个接口.
    接口可以继承一个或多个其它接口 .

    抽象类属性:不用限制
    接口的属性:静态常量

    成员区别
    抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法
    接口 常量;抽象方法

    关系区别
    类与类 继承,单继承
    类与接口 实现,单实现,多实现
    接口与接口 继承,单继承,多继承

    设计理念区别
    抽象类 被继承体现的是:”is a”的关系。
    共性功能 接口 被实现体现的是:”like a”的关系。扩展功能 /(类似一种什么,什么).

    形式参数

    4.**形式参数和返回值问题案例
    形式参数:基本(8个)和引用(类,接口,数组)

    引用类型作为形参:类,接口,数组

    类:需要的是该类的对象.

    public void show(Dog dog){}

    调用对象.show(new Dog());

    抽象类:需要的是该抽象类的子类对象

    public void show(Person person){}

    show(new 子类名());

    接口:需要的是接口的子类对象

    public void show(PCI pci){}
    show(new SoundCard());

    public UserDao getUserDao(){
    return UserDaoImpl();//接口的实现类对象
    }

    public void show(PCI pci){}
    对象.show(new SoundCard());

    public UserDao getUserDao(){
    return UserDaoImpl();//接口的实现类对象
    }

    因为抽象类和接口不能实例化

  • 相关阅读:
    使用freemarker生成word,步骤详解并奉上源代码
    汉诺塔问题
    java interview
    java 反射
    java 匿名内部类
    java 内部类(转)
    MYSQL和ORACLE的一些区别
    Hibernate总结(转)
    Hibernate的使用
    Arduino LM35温度检测
  • 原文地址:https://www.cnblogs.com/hdj1073678089/p/7300614.html
Copyright © 2011-2022 走看看