zoukankan      html  css  js  c++  java
  • java.抽象、接口

    抽象

    如果父类当中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法
    

    定义

    抽象方法:在返回值前加上abstract关键字,然后去掉大括号,分号直接结束。
    抽象类:抽象方法所在的类,必须是抽象类才行。在class前写上abstract。
    

    如何使用

    1、不能直接创建new抽象类对象
    2、必须用一个类来继承抽象父类
    3、子类必须覆盖重写抽象父类当中所偶遇的抽象方法
        覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体括号
    4、创建子类对象进行使用
    

    注意事项

    1、抽象类不能创建对象,如果创建,编译无法通过则报错,自能创建其非抽象子类的对象
    2、抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
    3、抽象类中不一定包含抽象方法,但是抽象方法的类必定时抽象类
    4、抽象类的子类,必须重写抽象类中所有的抽象方法,否则编译无法通过而报错。除非该子类也是抽象类。
    

    接口

    接口就是多个类的公共规范
    接口是一种引用数据类型,最重要的内容就是其中的:抽象方法
    

    接口的定义格式:

        public interface 接口名称{
            //接口内容
        }
    
        接口中包含的内容有:
            java7:
                1、常量
                2、抽象方法
            java8:
                3、默认方法
                4、静态方法
            java9:
                5、私有方法
    

    接口抽象方法的使用

        1、接口不能直接使用,必须有一个”实现类“来”实现“该接口
        public class 实现类名称 implements 接口名称{
            //  ...
        }
        2、接口的实现类必须覆盖重写(实现)接口中所以的抽象方法
        3、创建实现类的对象,进行使用
        注意:如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类就必须自己是抽象类
    

    接口默认方法的使用

    从java 8 开始,接口里允许定义默认方法
    格式:
    public default 返回值类型 方法名称(参数列表){
    方法体
    接口当中的默认方法可以解决接口的升级问题
    }
    

    接口静态方法的使用

    从java8 开始, 接口里允许定义静态方法
    格式:
    public static 返回值类型 方法名称(参数列表){
        方法体
    }
    提示:就是将abstract或者default换成static即可,带上方法体
       
    
    注意:不能通过接口实现类的对象来调用接口当中的静态方法
    正确用法:通过接口名称,直接调用其中的静态方法
    格式:
    接口名称.静态方法名(参数);
    

    接口私有方法的使用

    从java9开始,接口当中允许定义私用方法
    1、普通私用方法,解决多个默认方法之间重复代码问题
    格式:
    private 返回值 方法名称(参数列表){
        方法体
    }
    2、静态私有方法,解决多个静态方法之间重复代码问题
    格式:
    private static 返回值类型 方法名称(参数列表){
        方法体
    } 
    

    接口常量的定义和使用

     接口当中也可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰
     格式:
    public stataic final 数据类型 常量名称 = 数据值;
    备注:一旦使用final关键字进行修饰,说明不可改变
    
    注意事项:
    1、接口当中的常量,可以省略public stataic final 
    2、接口当中的常量,必须进行复制;不能不赋值
    3、接口当中的常量的名称,使用完全大写的字母,用下划线进行分隔
    

    接口的知识小结

    在java9开始,接口的内容有:

    1、成员变量其实就是常量,格式:
    [public][static][final] 数据类型 常量名称 = 数据值;
    注意:
        常量必须进行赋值,而且一旦赋值不能改变
        常量名称完全大写,用下划线进行分隔
        
    2、接口中最重要的就是抽象方法,格式:
    [public][abstract] 返回值类型 方法名称(参数列表);
    注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象类
    
    3、从java8开始,接口里允许定义默认方法,格式:
    [public] default 返回值类型 方法名称(参数列表){方法体}
    注意:默认方法也可以被福海重写
    
    4、从java8开始,接口里允许定义默认静态方法,格式:
    [public] static 返回值类型 方法名称(参数列表) {方法体}
    注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法
    
    5、从java 9开始,接口里允许定义私有方法,格式:
    普通私有方法:private 返回值类型方法名称(参数列表){方法体}
    静态私有方法:private static 返回值类型方法名称(参数列表){方法体}
    注意:private的方法只用接口自己才能调用,不能被实现或别人使用
    
    
  • 相关阅读:
    Android学习笔记安卓基础知识
    V8编程1
    dfdf
    NodeJS沙箱
    CGI编程cgihtml库简析
    dsfdsf
    Android学习笔记获取屏幕大小
    Android学习笔记AndroidManifest.xml配置文件详解
    HTTP状态码解析
    简易c++版本日志库
  • 原文地址:https://www.cnblogs.com/youngleesin/p/11879326.html
Copyright © 2011-2022 走看看