【Java基本知识】抽象类与接口对比
2017-12-08 21:31
225 查看
抽象类与接口
1.两者差异对比
构造方法 | 普通方法 | 静态方法 | 普通成员变量 | 静态成员变量 | 抽象方法 | |
抽象类 | T | T | T | T | T | T 但不能为private类型 |
接口 | F | F | F | F | T 默认且只能为public static final类型,即常量 | T 默认为public abstract类型,推荐不加修饰 |
2.抽象类
/** * 抽象类 * 1.可以包含构造方法 * 2.可以包含静态成员变量、静态方法 * 3.可以包含抽象、非抽象方法;但抽象方法不能为private * @author wsz * @date 2017年12月8日 */ abstract class AbstractClass{ public AbstractClass() {//构造方法 this.id =666; } public int function0() {//普通方法 return 666; } @Setter @Getter private int id;//成员变量 //静态变量 static String name; private static String name1; protected static String name2; public st 4000 atic String name3; //静态方法 private static String function1() {return "666";} protected static String function2() {return "666";} public static String function3() {return "666";} //抽象方法 abstract void function4(); // private abstract void function5(); 不可为private protected abstract void function6(); public abstract void function7(); }
3.接口
/** * 接口 * 1.不能包含构造方法 * 2.可包含默认为public static final的变量,即常量。不包含普通成员变量 * 3.不能包含静态方法 * 4.不能包含非抽象方法 * 5.包含的抽象方法默认为public abstract修饰的,在使用中推荐不加修饰,保持简洁性 * 说明:JDK8中接口允许有默认实现,那么这个default方法,是对所有实现类都有价值的默认实现 * @author wsz * */ interface InterfaceTest{ // public InterfaceTest() {}; 没有构造方法 // int id; 没有成员变量 public static final int ID = 1; //静态成员变量,即常量 // static int function1(); 没有静态方法 // int function2() {return 1;}; 没有普通方法 public abstract int funtion3(); //抽象方法 }
相关文章推荐
- 黑马程序员_Java基础篇(三)——抽象类和接口的对比
- java中的抽象类的基本知识
- JAVA与C++对比 --– 虚函数、抽象函数、抽象类、接口
- JAVA 继承基本类、抽象类、接口介绍
- JAVA 继承基本类、抽象类、接口
- Java序谈之抽象类和接口知识
- JAVA 继承基本类、抽象类、接口
- JAVA基础知识:抽象类、接口
- java 基础知识十一 抽象类和 接口
- Java基础知识学习总结(一)---深入理解Java的接口和抽象类
- java基础知识回顾之抽象类和接口的区别
- Java基本概念-抽象类和接口
- java基础知识—JAVA中抽象类和接口的区别
- JAVA – 虚函数、抽象函数、抽象类、接口_对比C++
- [java语法]基本语法(7) 面向对象--抽象类与接口
- Java基础知识整理二(抽象类、接口…
- 从C转到JAVA学习路之基本知识对比
- JAVA基础知识再学习(4)抽象类& 接口基本知识点
- java 基础知识二(抽象类‘、接口)
- java基础知识--抽象类和接口