Java作为一种面向对象语言。支持以下基本概念:封装,继承,多态,抽象,实例,方法,重载,对象,类。
本节我们重点研究对象和类的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
1.类和对象:
类: 是对现实生活中一类事物的描述,抽象的。
对象:是一个实实在在的个体
//类:是对现实生活中一类事物的描述,抽象的。
class Person{
//属性
String name;
int age;
char gender;
//行为
public void eat(){
System.out.println("吃饭");
}
}
//对象:若要具体到某一个事物需要通过new关键字创建对象,是一个实实在在的个体。
Person p = new Person();
p.name = "张三";
p.age = 18;
p.gender = '男';
p.eat();
2.Java中的类
2.1 类可以看成是创建Java对象的模板。下面一个简单的类来理解下Java中类的定义:
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
具体可参考:https://blog.csdn.net/Luomingkui1109/article/details/79713867
2.2 构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
下面是一个构造方法示例:
public class Puppy{
public Puppy(){
}
public Puppy(String name){
// 这个构造器仅有一个参数:name
}
}
3.Java 中的对象:
3.1 对象的创建
对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。
3.2 访问对象的属性和行为
当用户使用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" );
}
}
//编译并运行上面的程序,会打印出下面的结果:
小狗的名字是 : tommy