概述
Java作为一种面对对象语言,支持以下基本概念:
- 类
- 对象
- 属性
- 方法
- 封装
- 继承
- 多态
- 重载
- 抽象
类和对象
- 类:对一类事物的统称,即一个模板,如有一个类代表狗。
- 对象:是类的一个实例,指某一特定事务,如有一条叫小白的狗。
属性和方法
- 属性:用于描述对象的状态(我是谁)。
- 方法:用于确定对象的行为(我可以做什么)。
- 如下所示:
-
String name、int age、String color为属性,用于描述一条狗的名字、年龄和颜色。
-
void hungry()、 void sleeping()位为方法,用于描述一条狗饿了时的行为。
public class Dog{ String name; int age; String color; void hungry(){ }
-
一个类包含以下类型变量(按照作用范围划分):
- 局部变量:定义在方法、构造方法、或者语句块中。这类变量声明和初始化都在方法中,方法结束,变量销毁。
- 成员变量(全局变量):定义在类中,方法之外的变量。这类变量在创建对象时初始化,成员变量可被类中方法、构造方法、特定的语句块访问。
- 静态变量:声明在类中,方法体之外,用static修饰。
构造方法:
每个类都存在构造方法,若没有显示定义,则编译器自动提供一个默认构造方法。
在创建对象时,必须调用构造方法,构造方法的名称与类相同,一个类可以有多个构造方法。
public class Dog{
public Puppy(){
// 无参构造器
}
public Dog(String name){
// 这个构造器仅有一个参数:name
}
}
创建对象
-
代码层面
- 声明:声明一个对象,包括其名称和类型。
- 实例化:使用关键字new来创建一个对象。
- 初始化:实例化时,会调用构造方法对类进行初始化。
public class Puppy{ public Puppy(String name){ //这个构造器仅有一个参数:name System.out.println("小狗的名字是 : " + name ); } public static void main(String[] args){ // 下面的语句将创建一个Puppy对象 Puppy myPuppy = new Puppy( "tommy" ); } }
-
物理层面