Java面向对象之抽象与接口

① 抽象类

  1. 抽象的基本概念

    1. 使用abstract关键字可以声明一个抽象类,该关键字可以出现在类声明时class关键字前的任何地方。
    2. 将父类声明为抽象后,仅有的改变是我们不能再实例化一个父类对象,其他的所有保持不变。
  2. 抽象类与普通类的区别
    1. 抽象类里边可以有抽象方法和普通方法,但是普通类里边只能有普通方法。
    2. 将父类声明为抽象后,不能再实例化父类对象,普通类无影响。
    3. 普通类子类继承父类,如果父类是抽象类且有抽象方法,子类必须要重写,如果是普通父类,则没有要求必须重写。
  3. 抽象类的特点
    1. 在类的前面加上abstract,当前类就变成抽象类。如果一个类里边定义抽象方法,当前类必须是抽象类。
    2. 在抽象类里边也可以定义普通方法。
    3. 抽象方法里面必须有abstract来修饰才代表抽象方法。
  4. 抽象类的使用场景
    1. 在某些场景下,父类只知道子类包含哪些行为,但是不知道行为的具体实现是什么样的,这个时候就应该定义为抽象类。
    2. 从多个类中去抽象一个父类出来,利用这个父类作为子类的模版,从而避免自己的随意设计。
  5. 抽象类的使用规范
    1. 子类继承父类,如果父类里面有抽象方法,子类必须要重写,父类普通成员方法没有要求。
    2. 一个抽象类去继承另外一个抽象类,抽象方法可以不用重写。

② 接口

  1. 接口的基本概念

    1. 接口是抽象方法和常量定义的一个集合。
    2. 从本质上来讲,接口是一种特殊的抽象类,接口中所定义的方法全是抽象方法,所定义的变量全是常量。
  2. 接口的作用
    1. 接口里面定义的方法全都是抽象方法,子类实现接口的实现,必须实现所有的抽象方法,对子类的方法做了一个约束。不能让子类乱写方法,统一在接口中。
    2. 解决了java中一个类只能单继承的问题,一个类可以实现多个接口,弥补了以前单继承不足的问题。
    3. 实现接口其实也是一种继承关系。
    4. 一个类可以实现多个接口,完成多重继承。
    5. 接口中声明的属性默认就是public static final类型的。
    6. 接口中只能定义抽象方法。
    7. 接口可以继承其它接口,一个接口可以继承多个接口。

原文地址:https://www.cnblogs.com/lll999/p/10742569.html

时间: 2024-10-07 22:25:59

Java面向对象之抽象与接口的相关文章

java 面向对象编程--第十章 接口

1.  接口可以看做是抽象类的特例.抽象类中可以定义抽象方法,也可以定义具体方法.但接口只能定义抽象方法.所有接口可以看作行为的抽象.定义接口使用关键字interface,实现接口使用关键字implements. 2.  如果一个方法用父类变量作为参数,那么可以传递任何一个子类对象.如果一个方法用接口变量作为参数,那么可以传递任何一个实现类对象.(多态) 3.  接口中只能定义抽象方法,所以接口中的方法无论是否书写abstract,都是抽象方法,都只能有方法的定义.另外,接口中的方法都是publ

Java面向对象之抽象类,接口

抽象类: 含有抽象方法的类被声明为抽象类 抽象方法由子类去实现 含有抽象方法的类必须被声明为抽象类 抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 抽象方法: 声明而未被实现的方法 抽象类不能被实例化 子类实现不了, 由下一级子类去实现, 当前类声明为抽象类, 继承的这个方法声明为抽象方法 抽象方法的权限修饰符必须为public abstract //人类 public class Person { private String name; //自定义属性 引用类型 宠物

java继承、抽象和接口

package zdbExtends; public class Grandparent {        public Grandparent(){                System.out.println("Grandparent create.");            }    public Grandparent(String string){                System.out.println("Grandparent create.s

java 面向对象接口的应用

简介 上几篇一直在说面向对象理论中的抽象类的一些具体应用.今天我来说说面向对象理论中另一个关键的东西.接口.抽象类是类,接口是特殊的抽象类.为什么要用那么多时间来研究抽象类和接口呢?因为只有这二个理论我们掌握了.理解了.会用了.才能大大提高程序的可扩展性和可维护性.以后在学什么设计模式也是一层窗户纸一捅就破. 概念 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 两种含

Java面向对象-接口

Java面向对象-接口 接口定义:一种特殊的"抽象类",没有普通方法,由全局常量和公共的抽象方法所组成: 1,接口的定义 接口定义用关键字 interface 我们给下实例代码: 1 package com.java1234.chap03.sec12; 2 3 /** 4 * 定义一个接口A 5 * @author user 6 * 7 */ 8 public interface A { 9 10 /** 11 * 全局常量 12 */ 13 public static final S

java面向对象编程(八)--抽象类、接口

1.抽象类 1.1抽象类概念 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. //抽象类的必要性[Demo124.java] public class Demo124 { public static void main(String[] args) { //Animal an=new Animal();抽象类不允许实例化 Animal an=new Cat(); an.cry(); an=new Dog(); an.cr

黑马程序员--java基础------继承,抽象,接口

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------  继承 一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class

Java基础---继承、抽象、接口

一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类.例如:猫和豹子都是猫科动物,那么就可以说描述猫这个对象创建的类,是子类:而描述猫科动物这个对象创建的类,就是父类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class Sonexte

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J