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();

以上是 JAVA基础补漏--抽象类 的全部内容, 来源链接: utcz.com/z/392318.html

回到顶部