一、什么是面向对象编程?
对于一些规模较小的问题, 将其分解为过程的开发方式比较理想
//class 类的关键字
// Cat:类名
public class Cat {
}
public class Test {
public static void main(String[] args) {
Cat cat = new Cat(); //类的实例化,其实质就是给类在堆内存当中开辟内存空间
//Cat() : 实际开辟内存空间的类型
//new : 关键字--》告诉我们虚拟机在内存当中开辟内存空间
//cat : 对象名,也就是实际的对象
//Cat : 定义我们兑现是什么数据类型
}
}
二、什么是类,什么是对象,类与对象的关系是什么?
类是抽象的,不占用堆内存空间;而对象具体的,占用堆内存空间。
类是对象的模板,我们可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼,由类构造对象的过程叫做类的实例化。
三、封装
封装是java面向对象的一种特性,从形式上来看封装不过就是将数据和方法组合在一起,并对数据的访问者隐藏了数据的实现方式。在对象当中的数据称为实例域,操作数据的过程称为方法。
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
从上边的例子当中我们可以看出,name是一个只读域,name的值一旦在构造器当中设置完毕,就没有任何一个方法可以对他进行修改,这样确保name域不会受到外部的破坏。
在有些时候,需要获得或者设置实例域的值。因此,应该提供下面三项内容
- 一个私有的实例域
- 一个公有的域访问器方法
- 一个公有的域更改器方法