zoukankan      html  css  js  c++  java
  • java的接口与抽象类

    抽象类:作用:可以作为一个“模板”来规定子类必须实现的方法。抽象类不能实例化对象,用于继承。类前加abstract关键字修饰。
    抽象方法:抽象方法需要加abstract修饰。若有子类继承这个抽象类的时候,子类中必须实现父类中的抽象方法。抽象类中可以定义各种变量、常量、方法,从这里看抽象类强于接口。
    抽象类和接口非常相似:
    里面都有abstract修饰的抽象方法。抽象类中可以定义变量,也可也定义常量,还可以定义普通的方法对于接口里面只能定义常量抽象方法
    接口比抽象类优秀的一点是可以突破单继承的限制。接口和抽象类一般用作模板,其里面定义一些抽象方法,其子类必须实现这些抽象方法。
    两者都相当与一种对代码的限制和规范:

    不过接口对代码的限制更加严格----------相当于两个人一起做个什么项目,首先定义一个接口,分工去按照接口的要求去做
    最后再把两者的代码整合在一起,一个完整的项目就生成了

    而抽象类则就更像一个模板了------------------------将一类事物的共同的特点整合在一起-----再从这个抽象类中去具体的实现一个
    通过接口让这个类具有不同的功能



    interface Person {
    static final int data=12;
    static final String name="zhang";
    boolean bark(); //在Java中的方法默认都是抽象方法
    //并且可以有private去修饰抽象方法但是必须要有身体,在其他语言中如php中则不能被private修饰
    }

    public class Demo implements Person{
    public static void main(String[] args) {
    System.out.println("hello world");
    }
    public boolean bark(){
    System.out.println("hello");
    return false;
    }
    }
     
  • 相关阅读:
    *** 疑问
    *** C++动态绑定(多态)example code 1
    *** C++纯虚函数使用example code 1
    *** C++实现string各类运算符重载成员函数
    *** C++虚函数表原理相关代码
    *** 自写MyString类:重载操作符 '+'
    *** [转]C++在类的成员函数中,允许直接访问该类的成员对象的私有成员变量
    *** [转] C++基础篇--overload重载&override覆盖&overwrite隐藏
    *** C++ 中的函数重载
    *** 关于虚函数的一些常见问题
  • 原文地址:https://www.cnblogs.com/z2529827226/p/11874038.html
Copyright © 2011-2022 走看看