• 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;
    }
    }
     
  • 相关阅读:
    Source InSight context 窗口丢失的解决办法
    [EffectiveC++]item41:了解隐式接口和编译器多态
    [EffectiveC++]item04:Make sure the objects are initialized before they're used
    [EffectiveC++]item3:尽可能使用const
    linux man指令问题
    解读ARM成功秘诀:薄利多销推广产品
    source insight设置问题 [问题点数:20分,结帖人leecapacity]
    totalcommander
    firefox
    处理SecureCRT中使用vim出现中文乱码问题
  • 原文地址:https://www.cnblogs.com/z2529827226/p/11874038.html
Copyright © 2020-2023  润新知