一、面向对象
我们常说Java是面向对象的语言,那么什么是面向对象呢?我们通过和c语言的面向过程对比来理解。
我们用洗衣服来举例子
c语言-面向过程的顺序:
准备一个盆→加水→加洗衣粉→洗衣服→倒水拧干→加水→洗衣服→倒水拧干→晾晒
Java语言-面对对象的顺序:
把衣服放进洗衣机→调好模式→晾晒
通过这个例子我们可以很清楚的看到面向对象和面向过程的区别,面向过程在实现过程中更注重过程,而面向对象在实现过程中并不注重过程,过程由另一个对象完成(比如洗衣机)。两者都可以完成我们的需求(洗衣服),所以两者并没有好坏之分。
二、类和对象的定义
既然我们明白了什么是面向对象,那么Java中的对象到底是什么呢?我们常说对象是一个实例化的类,那么类又是什么?如何实例化呢?
类的定义
类是一个模板,它描述一类对象的属性和行为
在类中,我们用成员变量来定义类的属性,用成员方法来定义类的行为
我们用汽车来举个例子
类(模板):车
成员变量(属性):颜色、品牌、名称等等
成员方法(行为):行驶
创建一个类
既然已经了解了什么是一个类,那我们现在来创建一个类。
基本语法:
class ClassName( //类名
field //成员变量(属性)
method //成员方法(行为)
}
成员变量声明: <变量修饰符> [变量类型] [变量名]
成员方法声明:<方法修饰符> [返回值类型] [方法名] (<参数列表>)
例子(车)
class Car{
public String brand;
public String color;
public void drive(){
System.out.println("行驶");
}
public void carry(){
System.out.println("载人");
}
public void show(){
System.out.println("brand:"+brand+"color:"+color);
}
}
上面的代码就实现了对于一个车辆的基础创建,一个具有自己的品牌和颜色,可以行驶和载人的车。成员变量为品牌和颜色,成员方法为载人和行驶。
类的实例化(方法)
我们定义了一个类,就相当于定义了一个模板。类是不能直接使用的,就好比你有了汽车的图纸,但是我们不能驾驶汽车的图纸,我们需要根据图纸来打造一个汽车,这个打造的过程就是实例化,打造出来的汽车就是方法。
基本语法
1、通过new关键字来实例化类创建一个对象
2、使用.来访问创建的对象中的方法和属性
我们继续利用之前创建好的汽车类来举例子
首先我们需要将car类实例化出来,也就是将图纸放到流水线上进行生产,生产出第一辆车car1。
Car car1 = new Car();
.
通过对象去访问成员变量,并且给成员变量赋值,这是一个白色的大众车,拥有载人和行驶功能。
public class Main {
public static void main(String[] args) {
Car car1 = new Car();
car1.brand="大众";
car1.color="白色";
car1.carry();
car1.drive();
car1.show();
}
}
执行结果:
如果还想要第二辆车,那我们也可以继续创建Car2.
public class Main {
public static void main(String[] args) {
Car car1 = new Car();
car1.brand="大众";
car1.color="白色";
car1.carry();
car1.drive();
car1.show();
Car car2 = new Car();
car2.brand="奥迪";
car2.color="黑色";
car2.carry();
car2.drive();
car2.show();
}
}
执行结果: