面向对象编程是一种编程思想。与之相对的是结构化编程,大致是按时间顺序编程。
面向对象编程根据不同的事物抽象出不同的类,当需要的时候就根据类来创建一个或多个对象,所以类就类似于模板。
面向对象有三大特性:封装、继承、多态。
结构
类一般包括成员变量和方法。
成员变量
成员变量一般定义在类的顶部,不对其进行赋值,一般用private修饰,禁止外部直接访问。
如果成员变量与成员方法中的局部变量重名,那么在方法中通过这个名字得到的只会是局部变量。若要得到成员变量则需用this指向,如this.phone
public class TestClass {
private int phone;
……
}
成员方法
成员方法一般定义在成员变量的下面,面向外部的用public修饰,可通过对象直接调用,而对于只在类内部调用的方法可用private修饰。
public class TestClass {
……
public int getPhone(){
return phone;
}
}
成员方法中一般会有:
- 构造方法,一个无参构造方法和一个有参构造方法。具体调用如下:
TestClass test=new TestClass(); //无参 TestClass test=new TestClass(10086); //有参
无参可不指定成员变量值,有参则相反。
- get方法,在类外部都是通过get方法获取对象的成员变量值
- set方法,在类外部都是通过set方法为对象的成员变量赋值
- toString方法,可将所有成员变量转换为字符串返回,用字符串变量接收,在自定义类中需重写
以上方法都可利用idea直接生成
封装
把不需要外部访问的封装起来,只对外部开放公共的接口。
具体用权限修饰符限制:
- public,公共的,修饰面向外部的接口
- private,私有的,不能被外部访问
- protected,保护的,类外的子类具有访问权限
- default(空着不写),空着不写就代表default,在同一个包中有访问权限