继承,抽象,多态,接口
+
继承的有点:
1.代码的课重用性;
2.子类可以扩展父类的属性和方法
3.父类的属性和方法可用于子类
4设计应用程序变得更加简单
5.方法的重写
继承体系中类与类之间都是“is-a”的关系;
继承的单根性: 在java中都是单继承 ,一个子类只有一个父类(继承的单根性);
方法的重写:
方法的重写就是子类对父类方法的重写;
规则:
方法的名字,返回名称和形式列表想同,访问修饰符必须不小于父类的访问修饰符;
子类中重写抛出的异常不能比父类的多;
构造方法不会被继承;
默认情况下无参构造器会调用父类的无参构造器;
抽象:
关键字:abstract
抽象类不能别实例化,必须由子类来实现;
抽象方法:
抽象方法没有方法的主体,只有签名,用abstract修饰,抽象方法必须出现在抽象类中,抽象方法在子类中必须被实现
除非子类也是抽象类
多态:
实现多态:
1首先要编写父类派生子类;
2在子类中重写父类方法
3用父类数据类型引用子类对象
关键字:instanceof 判断是否是父类的实例,
接口:
关键字:interface ;
例:public interface 接口名{}
在接口中的方法都是抽象方法没有主体,只有约定;
接口中没有构造方法,不被实例化的;
在接口不能定义变量的使用,在接口中如果定义有变量都是静态会有的常量,不能进行改变;
关键字:
implements; 实现接口;
一个类可以实现多个接口,接口和接口可以实现继承,接口可以实现多个继承;
接口的原则:
1使用接口解决多继承
2 使用接口为外部类添加功能
接口的优点:
1 将涉及和实现分离,对外隐藏了实现;
2 面向接口编程是oop的核心
内部类:
在类的内部定义的类;
特点:
1独立的一个class文件
2同样需要进行编译
3同样可以产生对象