封装,继承,多态是面向对象编程的三大特色。
1,封装:
是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其形成一个不可分割的独立实体,数据被爱护在抽象数据类型的外部,尽可能地暗藏外部的细节,只保留一些对外接口使之与内部产生分割。
封装的意义:
1)将属性和办法放到一起做为一个整体,而后通过实例化对象来解决;
2)暗藏外部实现细节,只须要和对象及其属性和办法交互就能够了;
3)对类的属性和办法减少 拜访权限管制。
封装的益处:
1)良好的封装可能缩小耦合。
2)类外部的构造能够自在批改。
3)能够对成员进行更准确的管制。
4)暗藏信息,实现细节。
public class Person {
/*
* 对属性的封装
*/
private String name ;
private String sex ;
private int age ;
/*
*setter()、getter() 是该对象对外开发的接口
*/
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getSex() {return sex;}
public void setSex(String sex) {this.sex = sex;}
public int getAge() {return age;}
public void setAge(**int** age) {this.age = age;}
}
2,继承
继承是应用已存在的类的定义作为根底建设新类的技术,新类的定义能够减少新的数据或新的性能,也能够用父类的性能,但不能选择性地继承父类。
public class C extends A{...}
继承的个性:
1)子类领有父类非 private 的属性和办法。
2)子类能够领有本人属性和办法,即子类能够对父类进行扩大。
3)子类能够用本人的形式实现父类的办法。
继承的益处
1)防止代码反复,进步代码的复用性。
2)类与类之间产生了关系,是多态的前提。
3)批改父类,影响所有的子类,便于批改,批改一次接口。
3,多态
多态就是指程序中定义的援用变量所指向的具体类型和通过该援用变量收回的办法调用在编程时并不确定,而是在程序运行期间才确定,即一个援用变量倒底会指向哪个类的实例对象,该援用变量收回的办法调用到底是哪个类中实现的办法,必须在由程序运行期间能力决定。
多态体现的格局:
父类类型 变量名 = new 子类对象;接口名称 对象名 = new 实现类名称 ();
变量名. 办法名 ();
多态的益处:
1)缩小了重载办法的数量
2)合乎开闭准则,即便减少子类,不须要提供额定的办法
Java 实现多态有三个必要条件:
继承: 在多态中必须存在有继承关系的子类和父类。
重写: 子类对父类中某些办法进行从新定义,在调用这些办法时就会调用子类的办法。
向上转型: 在多态中须要将子类的援用赋给父类对象,只有这样该援用才可能具备技能调用父类的办法和子类的办法。
格局:
父类类型 变量名 = new 子类类型 ();
如:Animal a = new Cat();