面向过程和面向对象
面向过程注重的是过程,求解问题或完成事情的每个步骤都是自己实现的。
面向对象注重的是对象,将一件事情的每个步骤交给特定的对象去完成,不用自己来实现。
什么是类?
类相当于一个模板,一个类可以产生多个实体,这个实体就称为对象,类产生对象的过程称为实例化,即一个类可以实例化多个对象。例如:类相当于一个建筑图纸,由图纸产生的实体就是建造出来的房子,对象就相当于房子。
从语法上来说,类可以由以下方式来定义:
[访问修饰限定符] class 类名 {
}
其中[访问修饰限定符]是可以省略的,类名的命名规则为大驼峰,即每个单词的首字母都必须大写。
如:
class Person {
}
一个类中可以包含以下部分:
-
字段/属性/成员变量:分为普通成员变量和静态成员变量。
-
成员变量如果没有初始化,那么它的值就是默认的0值。如,当成员变量是引用类型时,没有初始化的默认值就是null。
-
静态成员变量被static修饰,也叫做类变量。
-
被final修饰的称为常量,被final和static修饰的常量为静态常量,被final修饰后后续不可更改。
-
-
行为/成员方法:分为普通成员方法和静态成员方法。其中静态成员方法被static修饰。
-
所有被static修饰的属性和方法,都为静态的,都不依赖于对象,直接用类名访问。
如:
class Person {
//普通成员变量
public String name;
public int age;
public String gender;
public static int count = 0;//静态成员变量
public final int SIZE = 10;//常量
public static final int COUNT = 20;//静态常量
//普通成员方法
public void eat() {
int a = 10;//局部变量
System.out.println(name + " 吃饭");
}
public void sleep {
System.out.println(name + " 睡觉");
}
//静态成员方法
public static void staticFunc() {
System.out.println("staticFunc");
}
}
实例化对象
知道了类,就可以实例化一个对象:类名 变量 = new 类名();
实例化对象以后,可以调用类里面的普通成员方法和普通成员变量:引用.普通成员变量、引用.普通成员方法
如:
public static void main(String[] args) {
Person per = new Person();//实例化
//调用普通成员变量
System.out.println(per.name);
System.out.println(per.age);
per.eat();//调用普通成员方法
}
调用静态成员变量和静态成员方法不需要实例化对象,直接用类名.进行访问:类名.
如:
public static void main(String[] args) {
System.out.println(Person.count);//调用静态成员变量
Person.staticFunc();//调用静态成员方法
}