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