我相信应该会有很多人像我一样,在学校学习的时候都是从C语言开始,然后着手开始学习Java, c语言 其实和 Java 区别挺大的:
C语言 是 面向过程 的,关注的是 过程 ,分析出求解问题的步骤,通过函数调用逐步解决问题。
JAVA 是基于 面向对象 的,关注的是 对象 ,将一件事情拆分成不同的对象,靠对象之间的交互完成。
面向过程 注重的是 过程 ,在整个过程中所涉及的行为,就是功能。
面向对象 注重的是 对象 ,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。对现实事物抽象为对象,行为抽象为接口、方法的三大特性
面向接口: 定义不同模块之间的接口规范,解耦具体实现之间的依赖
面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来
面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱所具备的功能,都要定义在冰箱中。
那么到底什么是 类 和 对象 呢?
类 : 就是一类对象的统称
对象 : 就是这一类具体化的一个实例,对象是现实中事物的抽象、建模。
举个栗子: 我们做月饼的模子就是一个类,而通过这个模子可以做出月饼,那么在这个例子当中,类就是那个模子,而月饼就是那个对象,所以月饼就是一个实体。一个模子可以实例化无数个对象。
类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
声明一个类 就是创建一个新的数据类型,类在Java中属于引用类型:
1、类的成员可以包括: 字段(属性、成员变量)、方法、代码块、内部类和接口 等
2、如果一个对象的属性创建出来没有初始化,就会被设置一个默认的初值:
对于 基本数据类型 来说,默认值为 0,boolean 类型例外,默认值为 false ; 对于 引用类型(String、array,以及自定义类),默认值为 null (空引用)
//创建一个类
//class为定义类的关键字,Person为类名
class Person {
public int age;//成员属性 实例变量
public String name;
public void eat() {//成员方法
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
public class Main{
public static void main(String[] args) {
//产生对象 实例化对象
Person person = new Person(); //通过 new 实例化对象
person.age = 20;
person.name = "qbs";
person.eat(); //成员方法调用需要通过对象的引用调用
person.sleep();
}
}