目录
什么是对象
Java是一门面向对象的语言,在面向对象的世界里,一切皆为对象。就拿洗衣服来举例,首先我们要把衣服和洗衣粉放入洗衣机,按下按钮洗衣机开始洗衣服,甩干衣服,洗衣机完后,我们把衣服拿出来晒干。洗衣服的过程中,对象有四个:我们(人),洗衣粉,衣服,洗衣机。整个洗衣服的过程由这四个对象交互完成。我们不用关心洗衣机如何洗衣服,这是洗衣机应该关心的事。
什么是类
对象是现实生活中的实体。比如洗衣机,计算机并不认识洗衣机,需要开发人员告诉计算机什么是洗衣机。比如洗衣机的规格(长、宽、高、重量等),洗衣机的型号,洗衣机的功能(洗衣、烘干、定时等)等。在java中,开发人员就是通过类来描述对象。在java语言中,如何实现类的定义呢?
类的定义格式
//创建类
class ClassName{
//字段(属性)或者 成员变量
//行为 或者 成员方法
}
以上述洗衣机为例我们创建一个名为WashingMachine的类
class WashingMachine{
//成员变量
public double length;//长
public double width;//宽
public double height;//高
public double weight;//重量
public String color;//颜色
public String brand;//品牌
//成员方法
public void washClothes() {
System.out.println("洗衣功能!");
}
public void dryClothes() {
System.out.println("脱水功能!");
}
public void setTime() {
System.out.println("定时功能!");
}
}
注意:类定义的位置在所有大括号的外面,如果你新建了一个名为Test的java class,你会发现文件中会自动有条代码
public class Test {
}
这也是一个类,名为Test,注意public修饰的类名一定要和文件名相同,一般一个文件中只定义一个类。如果你想创建一个狗类,你可以新建一个名为Dog的java class。
public class Dog {
//成员属性
public String name;//姓名
public int age;//年龄
//成员方法
public void bark() {
System.out.println("汪汪!");
}
}
对比一下我们以前定义变量以及方法的形式,你可能会有一些疑问
public class T {
public static void main(String[] args) {
int a = 10;
String s = "A";
int b = 20;
add(10,20);
}
public static int add(int a,int b) {
return a + b;
}
}
成员属性前为什么多了一个public,成员方法的static为什么不见了。这里我们先保留这个疑问,现在你只需要知道成员属性和成员方法的定义形式即可,后面我们再详细解释。
类的实例化
定义了一个类,就相当于在计算机中定义了一个新的类型,与int, double类似,只不过int, double是java中自带的内置类型,类的实例化就是用我们定义的类来定义一个对象,我们会用到new关键字。
public class Main {
public static void main(String[] args) {
WashingMachine washingMachine1 = new WashingMachine();
washingMachine1.color = "黄";
washingMachine1.brand = "海尔";
System.out.println(washingMachine1.color);
System.out.println(washingMachine1.brand);
washingMachine1.washClothes();
}
}
输出结果:
可以用 . 访问对象中的属性和方法;同一个类可以创建多个实例;实际上类只是一个类似模型的东西。