面向对象
简单来说就是不关注事务的过程,创造一个对象 让对象帮你完成事情。
比如装东西进冰箱 面向过程方法是打开冰箱 把东西装进去 关上冰箱。而面向对象的方法是创建一个冰箱的类,里面可以有属性和方法,比如打开冰箱门,关上冰箱门 等等。
同样事情用面向对象来说比较简单,我们不用考虑过程是怎么样具体实现的,省时省力,所以面向对象现在成为了编程语言的主流思想。
面向对象的三大特性大部分是封装,继承,多态。
封装是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
简单来说就是为了不让别人能轻易的操作对象里面的数据,只能用这个对象的get set 方法操作数据。比如
package test;
public class person {
private String name;
private int age;
@Override
public String toString() {
return "person [name=" + name + ", age=" + age + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
这个person类只能通过这个类的get set 方法改变
继承
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。[1] Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
Java是单继承的 意思就是说只能继承一个类 用extends继承
public class student extends person {
private int stunum;
private String school;
public int getStunum() {
return stunum;
}
public void setStunum(int stunum) {
this.stunum = stunum;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
}
Student类继承了person类
public static void main(String[] args) {
student a = new student();
a.setName("aaa");
System.out.println(a.toString());
}
Student类中没有name 这个属性可是给a赋值上了 说明student继承了person类
person [name=aaa, age=0]
多态
多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。
多态这个东西说起来东西很多 我看到一个挺不错的博客如果不理解可以去看看
http://www.cnblogs.com/chenssy/p/3372798.html