Java抽象类和接口的区别
2015-09-30 11:03
351 查看
抽象类
如果一个类含有抽象方法,则称这个类为抽象类。不能用抽象类创建对象。
抽象类就是为了继承而存在的。
抽象类和普通类一样,可以拥有成员变量和普通的成员方法。
抽象类和普通类的区别:
1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类无法实现该方法),缺省情况下默认为public。
2.抽象类不能用来创建对象。
3.如果一个类继承一个抽象类,则必须实现父类的抽象方法,否则必须将子类也定义成抽象类。
接口
接口中可以含有变量和方法。
变量只能是public static final变量。
方法只能是public abstract方法。接口中的方法必须都是抽象方法。
如果一个非抽象类实现了接口,就必须实现该接口中的所有方法。
抽象类和接口的区别
1.抽象类可以提供成员方法的实现细节,接口中只能存在public abstract方法。
2.抽象类的成员变量可以是各种类型的,接口中的成员变量只能是public static final类型的。
3.抽象类可以有静态代码块和静态方法,接口不能含有静态代码块和静态方法。
4.一个类只能继承一个抽象类,一个类可以实现多个接口。
如果一个类含有抽象方法,则称这个类为抽象类。不能用抽象类创建对象。
抽象类就是为了继承而存在的。
抽象类和普通类一样,可以拥有成员变量和普通的成员方法。
抽象类和普通类的区别:
1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类无法实现该方法),缺省情况下默认为public。
2.抽象类不能用来创建对象。
3.如果一个类继承一个抽象类,则必须实现父类的抽象方法,否则必须将子类也定义成抽象类。
接口
接口中可以含有变量和方法。
变量只能是public static final变量。
方法只能是public abstract方法。接口中的方法必须都是抽象方法。
如果一个非抽象类实现了接口,就必须实现该接口中的所有方法。
抽象类和接口的区别
1.抽象类可以提供成员方法的实现细节,接口中只能存在public abstract方法。
2.抽象类的成员变量可以是各种类型的,接口中的成员变量只能是public static final类型的。
3.抽象类可以有静态代码块和静态方法,接口不能含有静态代码块和静态方法。
4.一个类只能继承一个抽象类,一个类可以实现多个接口。
相关文章推荐
- java实例变量初始化
- Protobuf在Java中的使用
- Java制作证书的工具keytool用法总结
- java jdbc连接数据库的完整步骤
- Maven .m2\repository\jdk\tools\1.7 missing
- Java对象的序列化和反序列化
- 常用java代理方法
- java Junit 测试
- Eclipse配色
- test9.10
- 版本问题 Java:Unsupported major.minor version 51.0 (unable to load class . . .
- Java 输入输出流
- 自制JAVA容器图
- Java Exception
- spring事务隔离级别和传播行为
- test9.9
- java list转树形
- 寻找my eclipse的安装路径
- SSH-------java邮件发送
- Java 创建和销毁对象