• JAVA基础补漏--抽象类


    抽象类使用的四点注意事项:

    1.抽象类不能创建对象。

    2.抽象类可以没有抽象方法,但有抽象方法一定得是抽象类。

    3.抽象类可以有构造方法,是供子象创建对象时,初始化父类成员使用的。

    4.抽象类的子类,必须要重写父类的所有抽象方法,否则报错。


    Interface java8 特性

    增加default方法

    使用方法:

    ···
    public interface myInterface(

        public void abstract fun1();
    
         public void default fun2()
            {
                System.out.println();
            }
    

    )
    ···
    fun1()必须在实现类中重写。
    fun2()不是必须在实现类中重写,所有实现类直接继承即可。

    增加static方法

    public interface myInterface()
    {
        public static fun3()
        {
            System.out.println();
         }
    }
    

    fun3()不用再写实现类,直接调用即可。
    即:myInterface.fun3();


    Interface java9 特性

    普通私有方法

    private void fun4()
    {
    System.out.println();
    }
    用来解决普通default方法中的重复代码

    静态私有方法

    private void fun5()
    {
    System.out.println();
    }
    用来解决普通static方法函数中的重复代码

    接口中的成员变量其实为常量

    public static final int NUM = 9;

    一个类实现多个接口时会出现的问题

    public interface A{

    public default void fun()
    {
    sout();
    }
    }

    public interface B{

    public default void fun()
    {
    sout();
    }

    }

    public class implements A,B{

    public void fun()
    {
        sout();    
    

    }
    }

    实现类必须要重写默认方法fun(),以避免两个的冲突。

    一个类即继承又实现接口时的优先级

    public class fu{

    public void fun()
    {    
        sout();
    }
    

    }

    public interface myInterface {

    public default void fun()
    {    
        sout();
    }
    

    }

    public class zi extends fu implement myInterface{
    }

    这时如果类fu与类myInterface中存在的default函数同名,则优先fu,不用非得重写同名函数

    利用多态性。可以这样定义。

    Interface obj = new InterfaceImpl();

  • 相关阅读:
    软件测试 测试路径覆盖
    软件测试Lab Junit&Eclemma
    软件项目管理 名词解释
    使用 async/ await 进行 异步 编程
    基于任务的编程模型TAP
    异步编程(二)基于事件的异步编程模式 (EAP)
    C# 异步编程学习(一)
    C# 设计模式
    C# 读取硬盘信息 ManagementClass类
    C# show和showdialog区别
  • 原文地址:https://www.cnblogs.com/comeluder/p/10381785.html
Copyright © 2020-2023  润新知