抽象类

1、定义:没有包含足够的信息来描绘一个具体对象的类,不能被实例化,必须被继承;

2、abstract关键字:abstract class定义抽象类,普通类的其它功能依然存在,如变量、方法等;

public abstract class Person{
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void sayHi(){
System.out.println("Hi");
}
public abstract void sayHello();
}

3、继承抽象类:一个类只能继承一个抽象类,可以实现多个接口;

4、抽象方法:抽象类中一种特别的方法,同样用abstract关键字声明,只包含方法名,没有方法体(上面的
        sayHello方法),抽象方法没有具体实现由继承的子类(非抽象类)实现;

  a、如果一个类包含抽象方法,那么该类必须是抽象类;

  b、子类必须重写父类的抽象方法,或者声明自身为抽象类,最终必须有非抽象子类实现抽象方法;

接口

1、定义:抽象方法的集合,用interface关键字声明,无法被实例化,可以被实现(implements关键字实现接口);

public interface Person {
public void sayHello(); //隐式抽象方法,不必写abstract关键字
} public class Student implements Person {
@Override
public void sayHello()
{
System.out.println("Student sayHello"); //实现接口里的方法
}
}

2、特性

  a、接口中的方法是隐式的抽象方法(public abstract);

  b、接口中的变量隐式的指定为 public static final 变量;

  c、接口中的方法不能在接口中实现,只能由实现接口的类来实现;

  d、接口允许多继承,extends关键字只需使用一次,其后跟着继承接口;

public interface Person {
public void sayHello(); //隐式抽象方法,不必写abstract关键字
} public interface Children {
public void sayHi(); //隐式抽象方法,不必写abstract关键字
} public interface Student extends Children,Person Person {
//类的多继承是不合法,但接口允许多继承
}

抽象类与接口的区别

1、抽象类中的方法可以有方法体,接口没有;

2、抽象类中的成员变量可以是各种类型的,接口中只能是 public static finl 类型;

3、抽象类中可以含有静态代码块和静态方法,接口没有;

4、一个类只能继承一个抽象类,而一个类却可以实现多个接口;

Java知识点梳理——抽象类和接口的更多相关文章

  1. 牛客网Java刷题知识点之抽象类与接口

    不多说,直接上干货! 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于它们的存在才赋予java强大的面向对象的能力. ...

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

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

  3. java 8中抽象类与接口的异同

    1.java 8中抽象类与接口的异同 相同点: 1)都是抽象类型: 2)都可以有实现方法(以前接口不行): 3)都可以不需要实现类或者继承者去实现所有方法,(以前不行,现在接口中默认方法不需要实现者实 ...

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

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

  5. Java 中,抽象类与接口之间有什么不同?

    Java 中,抽象类和接口有很多不同之处,但是最重要的一个是 Java 中限制一个 类只能继承一个类,但是可以实现多个接口.抽象类可以很好的定义一个家族类 的默认行为,而接口能更好的定义类型,有助于后 ...

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

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

  7. java知识点梳理

    网络搜索结果,出处不详,仅供参考 对于刚刚接触Java的人,java基础知识技术点繁多,那么gkstk小编为大家汇总最全java知识点如下,仅供大家参考学习! 1. JVM相关(包括了各个版本的特性) ...

  8. java中的抽象类和接口

    抽象类和接口本身让面向对象真正实现,一个好的系统可以让抽象类或者接口实现多次复用,如果出现了集成具体类那么肯定是有问题的. 抽象类和接口很相似,很多时候好像功能可以混用,java设计者赋予了很多不一样 ...

  9. Java笔记:抽象类、接口

    这篇笔记主要是抽象类和接口,还有简单介绍下三种设计模式:模板模式.工厂模式.命令模式 1.抽象方法和抽象类(1)抽象方法和抽象类都必须使用abstract修饰符来定义,包含抽象方法的类只能被定义成抽象 ...

随机推荐

  1. CAS 与 无锁队列

    http://coolshell.cn/articles/8239.html http://www.tuicool.com/articles/VZ3IBv http://blog.csdn.net/r ...

  2. javascript的基本类型剖析:

    javascript的基本数据类型包含 string,number,boolean,function,object,undified基本的6的基本数据类型 这篇文章就主要介绍一下这六种基本数据类型的主 ...

  3. 【Linux】行首、行尾添加字符串

    在行首或者行尾添加字符串的方式有以下2种 环境描述 test.txt文件内容如下: hello world Qinys 要求:在每一行的行首添加AAA,行尾添加666 VIM编辑状态添加 首先使用命令 ...

  4. struts 页面调用Action的指定方法并传递参数

    如果为action配置了类,那么默认就会执行Action类的excute方法,Action类的写法三种: ① public class Action1 { public String execute( ...

  5. 将object格式转为json格式

    在页面内容显示时,有时需要用到json格式.但数据库内容的显示,需要将数据库中获取的格式转为json: using Newtonsoft.Json;public static string ToJso ...

  6. 阿里云web播放器

    原文地址:https://help.aliyun.com/document_detail/51991.html?spm=5176.doc61109.6.703.ZTCYoi 一.概念说明 1. pla ...

  7. hdu_2817_高速幂

    水~ #include <cstdio> #include <iostream> #include <cstring> #include <algorithm ...

  8. C#面试基础问题0

    传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同. 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称. C#支持多重继承么?不支持.可以用接口来实 ...

  9. 英文版windows乱码问题(win7/8/10)

  10. cmd隐藏指定文件

    隐藏文件: 或者带路径执行: 显示文件: