一、类与对象
类是用来对一组具有相同特性事物的描述,而对象就是类的实例,类用来描述对象,就像一座大楼与楼的设计图的关系,盖成一座大楼需要一张设计图来确定这座楼有多高,有多大,一层有几个房间等。万物皆对象。
例如:
//一个描述人的类
public class Person {
private String name; //人的姓名
private int age; //人的年龄
private String sex ; //人的性别
public void spaek() {
System.out.println("说话");
}
}
上面的代码,是一个关于人的类, 类中描述了一个人的属性如姓名,年龄;还有人的一个动作说话,可以说,通过这个类,我们就能简单的得到一个‘人’。
Person people1 = new Person(); //java中通过new关键字可以创建一个对象。
people1.speak(); // 通过对象可以调用该对象的speak方法。
创建一个对象后就可以调用其中的成员变量和方法,要注意成员变量的修饰符,public(在所有的类中都能访问),private(只能在自身类中访问,也不能在子类中访问),protected(只能被自身类,子类和同一包中的类访问),一般常用的就这三个。在上述代码中,调用了speak方法,其修饰符public,说明可以任意类中的访问,而name,age属性,都是私有的private,只能在本类中访问,如果需要访问,我们可以在Person类设置return方法来返回,这样可以保护类中的数据,起到封装的特性,如:
public String getName(){
return this.name;
}
二、构造方法
构造方法就是对对象的初始化,就是在new对象时,使对象当出现时就自带有一些属性值,比如说一个人,刚出生是父母一般都会起好名字,那么我们为什么不在创建对象时就给对像的名字赋值呢?这就需要构造方法。
public class Person {
private String name;
protected int age;
//构造方法,需要传入名字。
public Person(String name) {
this.name = name;
}
public void spaek() {
System.out.println("说话");
}
public String getName(){
return this.name;
}
}
构造方法是与类同名,公共的,没有返回值的方法,不用用户调用,会在创建对象是自动调用。
Person people1 = new Person("小王");
people1.getName(); //调用people1的getName方法得到name的值 此时name的值同过构造方法的赋值,为“小王”。
三、 重构
上面我们讲解了构造方法,那么问题来了,如果一个人一出生还没有起好名字,那怎么办呢?这就需要说到方法的重构了。就是方法名称一样,返回值一样,就是方法的传参不一样。创建对象是根据传入参数的个数。类型的不同,来调用不同的构造方法。不止是构造方法,成员方法也能重构(注意:重构时的参数要么要在个数上不同,要么要在传入参数的类型上不同)。