原创

【每天十分钟JAVA快速入门】(七)类与对象

类与对象

终于到了学习所谓面向对象的环节了,类就是对事物的抽象描述,对象就是类的实际呈现方式。比如人类就是对人的抽象描述,而世界上的每个人都是人类的一个对象,也就是所谓的实例(instance)。

Java程序中的所有代码都是写在在一个个类中的。JDK已经为我们提供了大量的预定义类,我们可以直接使用它们,比如之前我们提到的数学计算类Math,以及用于日期,网络等方面程序设计的类。在实际的程序设计开发过程中,我们要做的大量工作就是设计符合业务需求的自定义类。
类一般包含数据和操作数据的行为,数据表现为成员变量,操作数据的行为我们称之为方法(method)。一个最简单的类定义如下:
class ClassName{
property1
property2
...
constructor1
constructor2
...
method1
method2
}
所有的类定义以class关键字来描述,类名推荐使用驼峰格式,且以大写字母开头。
所有的类都是位于某个包(package)下的,就像我们平时在淘宝买东西都需要一个收货地址一样,包就是类似于类的地址,方便我们找到它。
下面是一个简单的学生类的例子:
package com.doudou666.foundation;
public class Student {
private String name;
private String gender;
private int age;
public Student(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
}
这个Student类包含了3个成员变量,1个构造器,3个方法。

类成员变量
类成员变量是在类的内部但在方法的外部声明的变量,如果没有显式地给它们赋值,则会根据类型初始化为默认值,这点与方法内的局部变量不同,局部变量时必须要显式赋值后才可以使用。即便如此,个人还是建议即使是对于类成员变量,还是要显式给予初始化,无论是直接赋值还是在构造器中或是在块中。

构造器
与类名相同的方法我们称之为构造器(constructor)或构造函数,使用构造器用来创建一个类的对象,构造器与其他的方法不同,它只能与new操作符一起使用,例如:
new Student("小明","男","10")
如果没有显式的构造器,系统会默认提供一个无参构造器,可以调用它来实例化类,例如:
new Student()
但是如果我们已经显式定义了构造器,系统提供的默认无参构造器就会失去作用。
关键字this可以在构造器中调用另一个构造器,例如:
public class Demo{
public Demo(int x){
this("call another constructor" , x );
}
}

方法重载
我们经常可以看到一个类有多个构造器,例如String,有很多种构建String的构造器,它们有相同的方法名,不同的参数。这种形式我们称之为重载。
重载不仅仅是使用在构造器上,实际上Java允许我们重载任何方法。需要注意的是方法的返回值不在重载的条件之中,即方法名和参数都相同而返回值不同是不合法的。
正文到此结束