面向对象--继承、接口、抽象
2016-04-01 10:16
253 查看
继承:
在Java中只允许单继承,不能使用多继承,即一个子类只能继承一个父类。但允许多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类。
子类对象在实例化之前必须首先调用父类构造方法,再调用子类的自己的构造方法。与生活很类似,要先有父母才能有孩子。因为要用父类的构造方法为父类中的属性初始化,所以要先有父类实例,才能产生子类实例。
super关键字:可以在子类中用super关键字调用父类的中的构造方法、普通方法和属性。
final关键字:使用final声明的类不能由子类。 使用final声明的方法不能被子类重写。 使用final声明的变量即成常量,常量不能修改。
抽象类abstract:
包含一个抽象方法的类必须是抽象类;抽象方法只需声明而不能实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。
abstract声明的类不能使用private的访问权限,因为abstract抽象类必须被继承实现抽象方法,private只能在本类中访问。
接口interface:interface A{
全局常量;
抽象方法;} 在接口中的抽象方法必须定义为public访问权限。 接口中的方法不管写不写,永远是public。
接口若要使用必须通过子类,子类通过implements关键字实现接口。class 子类 implements interfaceA,interfaceB{}
抽象类与接口的区别:
相同点:1、都不能被实例化;2、都包含抽象方法
区别:1、抽象类里可以存在非抽象的方法,接口里的所有方法都没有实现体;
2、接口中的所有方法都是public(static、final、default),抽象类里只有抽象方法必须是public;
3、抽象类中的成员变量可以用任何修饰符修饰,接口中的成员变量默认就是public static final;
3、一个接口可以继承多个接口,而一个类只能继承一个抽象类(接口可以多继承,类只能单继承);
4、接口可以继承接口,但接口不能继承抽象类(抽象类被继承后必须要实现抽象方法,接口在被实现的时候必须实现其方法 );
5、一个类可以实现多个接口,class A extens B implements C,D{}
对象的多态性:对象向上转型,父类 父类对象=子类 子类实例; 对象向下转型,子类 子类对象=(子类)父类实例;
instanceof关键字:判断一个对象到底是哪个类的实例。
在Java中只允许单继承,不能使用多继承,即一个子类只能继承一个父类。但允许多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类。
子类对象在实例化之前必须首先调用父类构造方法,再调用子类的自己的构造方法。与生活很类似,要先有父母才能有孩子。因为要用父类的构造方法为父类中的属性初始化,所以要先有父类实例,才能产生子类实例。
super关键字:可以在子类中用super关键字调用父类的中的构造方法、普通方法和属性。
final关键字:使用final声明的类不能由子类。 使用final声明的方法不能被子类重写。 使用final声明的变量即成常量,常量不能修改。
抽象类abstract:
包含一个抽象方法的类必须是抽象类;抽象方法只需声明而不能实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。
abstract声明的类不能使用private的访问权限,因为abstract抽象类必须被继承实现抽象方法,private只能在本类中访问。
接口interface:interface A{
全局常量;
抽象方法;} 在接口中的抽象方法必须定义为public访问权限。 接口中的方法不管写不写,永远是public。
接口若要使用必须通过子类,子类通过implements关键字实现接口。class 子类 implements interfaceA,interfaceB{}
抽象类与接口的区别:
相同点:1、都不能被实例化;2、都包含抽象方法
区别:1、抽象类里可以存在非抽象的方法,接口里的所有方法都没有实现体;
2、接口中的所有方法都是public(static、final、default),抽象类里只有抽象方法必须是public;
3、抽象类中的成员变量可以用任何修饰符修饰,接口中的成员变量默认就是public static final;
3、一个接口可以继承多个接口,而一个类只能继承一个抽象类(接口可以多继承,类只能单继承);
4、接口可以继承接口,但接口不能继承抽象类(抽象类被继承后必须要实现抽象方法,接口在被实现的时候必须实现其方法 );
5、一个类可以实现多个接口,class A extens B implements C,D{}
对象的多态性:对象向上转型,父类 父类对象=子类 子类实例; 对象向下转型,子类 子类对象=(子类)父类实例;
instanceof关键字:判断一个对象到底是哪个类的实例。
相关文章推荐
- android 解压缩zip包
- VS error retrieving information from user datastore
- 开发心得
- mongoDB——wiredTiger副本集模型的成员角色
- 愚人节自语
- Ext Grid上双击触发事件
- Wireshark和TcpDump抓包分析心得
- Javascript 类与静态类的实现-js面向对象
- ubuntu解压zip文件乱码问题解决方法
- monkey脚本格式
- 2016SDAU编程练习一1009
- oracle 修改字符集 修改为ZHS16GBK
- 移动端meta汇总
- bootstrap精简教程
- iOS 开发者总结
- 10 Ways to Learn Java in just a Couple of Weeks
- get_magic_quotes_gpc()
- 差距
- 无限滚动
- grep和管道符