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

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

最新文章

  1. JS在window和document的应用
  2. System.getProperty()方法获取大全
  3. 命令行启动win7系统操作部分功能
  4. HDU 2256 Problem of Precision (矩阵快速幂)
  5. [CF]codeforces round#366(div2)滚粗记
  6. ListView 复制到剪切板
  7. 通过DAC来连接SQL Server
  8. windows sever 2008 r2 - 限制ip访问
  9. C add
  10. 《java.util.concurrent 包源码阅读》18 Exchanger
  11. c#值类型与引用类型区别
  12. 关于win10安装NET Framework 3.5,错误87的终极解答0x80070057
  13. hadoop fs 获取文件大小
  14. forget suffix word aby able ability out 1
  15. KnockoutJs学习笔记(六)
  16. POJ 1298
  17. 解析苹果的官方例子LazyTableImages实现图片懒加载原理
  18. personal evolution
  19. ASP.NET总结
  20. python 实现3-2 问候语: 继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

热门文章

  1. [Go语言]从Docker源码学习Go——指针和Structs
  2. less.js
  3. mvc中使用uploadify批量上传的应用
  4. 《从零开始学Swift》学习笔记(Day60)——Core Foundation框架
  5. jquery ajax 传数据到后台乱码的处理方法
  6. 【Python之路】第二十四篇--爬虫
  7. c# WinForm软件启动拦截(通过更改文件关联实现)
  8. python中open函数的使用
  9. Python菜鸟之路:原生Ajax/Jquery Ajax/IFrame Ajax的选用
  10. Struts 上传文件