zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    页断裂(partial write)与doublewrite技术
    mysql大小写敏感与校对规则
    mysql自增列导致主键重复问题分析。。。
    一次进程hang住问题分析。。。
    教你手工mysql拆库
    mysql online ddl
    Yii2的深入学习--入口文件
    构建自己的PHP框架--抽象Controller的基类
    构建自己的PHP框架--抽象框架的内容
    构建自己的PHP框架--搭建基本结构
  • 原文地址:https://www.cnblogs.com/comeluder/p/10381785.html
Copyright © 2011-2022 走看看