1. 类
首先,在了解类这个概念的时候,要先知道Java是一门面向对象编程语言。估计大家对这个说法也不陌生。那么到底怎么理解面向对象这个词呢?举个例子,假如我们要实现一个图书管理系统。那么面向过程的思想会让我们只设计增删图书等功能,这在简单的系统里面实现起来很方便。但如果系统加上了登陆等功能,那系统的复用性则会降低很多。这个时候如果把一些具有相同属性、相同能力的一类事物抽离出来成为一个类,那么复用性将会提高很多。例如:在这个图书管理系统中,我们可以把书籍、用户、标签等等设计成一个个类。当我们需要涉及到某本书的时候,我们可以创造出一个书籍的对象,为其附上特有的属性(书名、编号…),用户、标签同理。
那么我们怎么去设计一个类呢?怎么去创建一个对象呢?
首先一个类由变量(成员变量、局部变量、类变量)和方法(抽象方法、普通方法、构造方法)组成。
以下是 Dog 类
public class Dog {
//成员变量
String name;
int number;
String colour;
//无参数构造方法
public Dog(){
}
//有参数构造方法
public Dog(String name,int number,String colour){
this.name = name;
this.number = number;
this.colour = colour;
}
//普通方法
public void run(){
System.out.println("runing...");
}
}
从上面这个Dog类的例字可以看得出:
变量:变量可以用访问控制修饰符(不写默认 default )和非访问控制修饰符(不写默认“无效果”)
成员变量:定义在类中,方法之外的变量,在创建对象的时候实例化。可以被类中方法访问或者通过实例对象访问。
局部变量:定义在方法、构造方法或者语句块中,变量的声明和初始化都是在方法中,方法结束后则销毁。只能在方法内部访问。
类变量:定义在类中,方法体之外,必须使用 static 关键字修饰,该变量属于类而不属于某个对象,可以直接用类名访问。
抽象方法:后面章节会讲到。
普通方法:由访问控制修饰符 :(default, public , protected, private,不写默认为default)、非访问控制修饰符 : (final, abstract, static, synchronized,不写表示“无效果”)、返回值类型(数组类型、类类型、基本类型、void 等)、方法名(需符合命名规范)等组成。
构造方法:每个类都有构造方法,你不写的话 Java 编译器会默认给你一个无参构造方法。如果你自己写了构造方法,那么你的构造方法就会覆盖默认的,并且你可以写多余一个构造方法(包括有、无参数)。构造方法的方法名必须和类名相同,并且无返回值(不能用 void )。构造方法的作用是你创建对象的时候可以传入参数为该对象赋值。
2. 创建对象
通过声明、实例化和初始化。
例如,我想要创建上面 Dog 类的一个对象,我给这只小狗取名“小白”,编号是 001,红色。那我只需要执行以下代码:
Dog dog = new Dog("小白",001,"红色");
步骤就是:通过声明对象类型(Dog)和对象名(dog,在这里我可以叫各种各样的名字,只需要符合命名规范即可);接着通过 new 关键字创建一个对象;括号中传入的参数对应构造方法中的参数,为这个对象初始化值,当然这里可以不传入参数表示调用的是无参构造函数。
3. 访问变量和方法
通过对象名访问该对象的变量和方法,方法如下:
dog.name;
dog.number;
dog.colour;
dog.run();
4. import 语句
java 的 import 语句:我们现在已经知道,如果我们在一个类中想要引入另一个类的变量,那么我们可以通过类名来创建,但是如果我想要创建的这个类在另一个包里面,那么我怎么去定位这个类名呢?这个时候就可以使用全类名,即包名+类名的形式创建对象,也可以使用 import 关键字。在文件的开头,使用 import + 包名 + 类名(还可以使用 * 符号匹配多级路径)。
例如:import java.util.*;
下一章我们将基本数据类型。