1.面向对象与面向过程
面向过程:分析出解决问题所需步骤,然后用函数逐一实现
面向对象:把构成问题的事务按照一定规划划分为多个独立的对象,然后通过调用对象的方法来解决问题。
2.面向对象的特点
封装性:把对象的属性和行为封装在一起,将不想让外界知道的信息隐藏起来。
继承性:描述类与类之间的关系,无需在重新编写原有类的情况下对原有类进行扩展
多态性:程序中允许出现重名现象,在一个类中定义的属性和方法被其它类继承后,他们可以具 有不同的数据类型或表现不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义
3.类与对象
类是表示某类群体的一些基本特征抽象,对象表示一个个具体的事物
类是对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
对象的创建与使用:类名 对象名=new 类名();
4.访问控制
private:私有访问权限,由于修饰类的属性和方法,类的成员一旦使用了private关键字,则该类成员只能在本类中进行访问。
default:默认访问权限,可以被本包中其他类访问
protected:受保护的访问权限,一个类的成员一旦使用了protected访问权限,则只能被本包及不同包的之类访问。
public:公共访问权限
5.封装性
为什么要封装:防止本类的代码和数据被外部程序随机访问。
类的封装:私有化属性,即使用private关键字修饰类的属性
创建一个无参以及一个全参构造函数(source-construct)getter与setter方法
4.构造方法
构造方法的定义:
1)方法名与类名相同
2)在方法名的前面没有返回值类型的声明
3)在方法中不能使用return语句返回一个值,但是可以单独写return语句来作为方法的结束
构造方法的重载:
1)Java中每一个类中都至少有一个构造函数,如果没有定义,那么系统会自动创建一个默认的无参构造函数;一旦定义构造函数,那么默认的无参构造就不会创建
2)重载只看方法名以及方法参数,无关返回值
5.this关键字
this指代当前对象,可以访问当前对象的成员变量(解决变量名冲突);可以调用当前对象的成员方法(调用成员方法时可以省略this.);可以调用类的构造方法(调用构造函数时,只能在构造函数中调用,不能在成员方法中调用;在构造函数中,使用this调用构造函数的语句必须放在第一行,且只能出现依次;不能再一个类的两个构造方法中使用this互相调用)