Java作为一种面向对象语言。支持以下基本概念:
- 多态。当类A、类B分别实现了接口C的方法D时候,当实例不同时候,同一个接口的方法D会执行不同的逻辑。例如:彩色打印机、黑白打印机都有打印动作,但是它们打印效果是不同的。
- 继承。类A可以继承类B,那么类A可以拥有类B的所有行为和特征
- 封装
- 抽象
- 类
- 对象
- 实例
- 方法
- 重载。我们将同一个类中,方法名相同、参数不同的方法叫做重载方法
- 重写。当类A继承类B的时候,类A中可以将类B的同名、同参数方法重写
本节我们重点研究对象和类的概念。
- 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
Java 中的类
类可以看成是创建 Java 对象的模板。
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。PS:当我们声明了带参数的构造方法的时候,如果没有显示的声明不带参数的沟通方法,不带参数的沟通方法是不会默认存在的。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
下面是一个构造方法示例:
public class Puppy{
public Puppy(){
}
public Puppy(String name){
// 这个构造器仅有一个参数:name
}
}
创建对象
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
- 声明:声明一个对象,包括对象名称和对象类型。如下图,我们声明对象名myPuppy
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。如下图,我们调用了Puppy的带参数构造方法Puppy("tommy"),来初始化对象。
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public static void main(String[] args){
// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}