什么叫面向对象
面向对象就是:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。
面向对象的三大特性
面向对象的三大特性就是封装,继承,多态
封装
所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
封装的作用
- 良好的封装减少代码耦合
- 隐藏实际细节,提供公共的访问方式
- 使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度
- 让程序更容易理解和维护,也加强了代码的安全性。
访问权限符
1,private(私有的),被private修饰的属性和方法只能在本类中访问,在其他类中访问不到.
private int age;
2, default:当属性和方法前面没有访问权限符时,它会有个默认的修饰符,被它修饰的属性和方法只能在本类和同一个包下其他类访问到.
int age;
3,protect:当属性和方法被这个修饰符修饰时,能访问它的范围又大了一些.能访问它的有:本类,同一包下其他类,子类和父类.
protect int age;
4,public:当属性和方法被这个修饰符修饰时,访问它的权限最大.能访问它的有:本类,同一个包下其他类,子类和父类,以及不同包下其他类
public int age;
简单实例:
public class Person {
/**
* 年龄
*/
private int age;
/**
* 性别
*/
private String sex;
/**
* 电话号
*/
private String phoneNumber;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
通过get(),set()方法对类里面的属性进行封装,避免对象直接访问属性,提高安全性.