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

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基础补漏--抽象类的更多相关文章

  1. Java基础九--抽象类

    Java基础九--抽象类 一.抽象类介绍 /*抽象类:抽象:笼统,模糊,看不懂!不具体. 特点:1,方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰. 抽象方法必须定义在抽象类中 ...

  2. Java基础之抽象类与接口

    Java基础之抽象类与接口 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候 ...

  3. java基础(四)-----抽象类与接口

    抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们 ...

  4. 程序猿的日常——Java基础之抽象类与接口、枚举、泛型

    再次回顾这些基础内容,发现自己理解的又多了一点.对于一些之前很模糊的概念,渐渐的清晰起来. 抽象类与接口 抽象类通常是描述一些对象的通用方法和属性,并且默认实现一些功能,它不能被实例化.接口仅仅是描述 ...

  5. 【Java基础】抽象类和抽象方法的总结

    什么是抽象类 抽象类是相同概念实体的一种抽象,Java中用关键字abstract来定义抽象类和抽象方法. 什么是抽象方法 只有方法的声明,没有方法的具体实现的方法. 抽象类和抽象方法的特点 抽象类和抽 ...

  6. java基础之抽象类与接口的区别

    在学习java的过程中,或者是在找工作笔试或面试的时候,如果你是java岗位,那么抽象类与接口的区别无疑是一个大热点,是各大公司都想要考的一个小知识点,下面是我为了9月份秋招自己总结的,若有不对的地方 ...

  7. java基础之抽象类与接口的形式参数和返回值

    抽象类与接口形式参数和返回值问题 1.形参问题 /* 1.形式参数: 基本类型(太简单,不是我今天要讲解的) 引用类型 (1)类名:(匿名对象的时候其实我们已经讲过了) 需要的是该类的对象 (2)抽象 ...

  8. Java基础之抽象类

    /* 1.抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的. 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类. 抽象类的特点: A ...

  9. Java基础(basis)-----抽象类和接口详解

    1.抽象类 1.1 abstract修饰类:抽象类 不可被实例化 抽象类有构造器 (凡是类都有构造器) 抽象方法所在的类,一定是抽象类 抽象类中可以没有抽象方法 1.2 abstract修饰方法:抽象 ...

随机推荐

  1. CocoaPods安装和使用教程Code4App LOGO

    本文转载至 http://code4app.com/article/cocoapods-install-usage Code4App 原创文章.转载请注明出处:http://code4app.com/ ...

  2. CNBlog客户端--第二阶段记录

    开始 先给大家看一下我最近的进度,由于最近事比较多,所以这块的精力就相对较少了!但是还是有成绩的!!大家先看效果图吧! 这个优化之后的博客内容显示,还有增加了评论显示页面!! 这个是设置页面,还有一些 ...

  3. Bouncy Castle Crypto API c# port

    Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.现在有了C#的版本.下面是网站上的介绍 This port ...

  4. A1261. happiness(吴确)[二元组暴力最小割建模]

    A1261. happiness(吴确) 时间限制:500ms   内存限制:512.0MB   总提交次数:158   AC次数:72   平均分:56.71   将本题分享到:        查看 ...

  5. 160805、oracle查询:取出每组中的第一条记录

    在Java 9发布之前,我们来分享一些Java 8开发技巧 [以下为译文] 在使用JAVA 8进行开发多年后,结合个人使用IntelliJ IDEA的心得,我总结了以下几个JAVA8技巧供大家参考. ...

  6. 回顾.NET Remoting分布式开发

    记得在下第一次接触.NET Remoting分布式开发是在2003年,那时候是Framework1.0初次亮相之时,Remoting分布式开发是Framework1.0其中一个亮点.经过多年的发展,在 ...

  7. 用jQuery的attr()设置option默认选中无效的解决 attr设置属性失效

    表单下拉选项使用selected设置,发现第一次默认选中成功,在页面不刷新的情况下,再次下拉,selected属性设置了,默认选中不生效 在手机端有些浏览器用jQuery的attr()方法设置sele ...

  8. 第20章—跨域访问(CORS)

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...

  9. 2015-03-10——简析javascript对象

    对于构造函数,它是Function对象的一个实例,可以定义自己的静态成员先实例化出对象,后执行function中内部代码 静态成员:  var abc = function () {};  //既是一 ...

  10. quartz集群 定时任务 改成可配置

    前面的博文中提到的quartz集群方式会有以下缺点: 1.假设配置了3个定时任务,job1,job2,job3,这时数据库里会有3条job相关的记录,如果下次上线要停掉一个定时任务job1,那即使定时 ...