一 类和对象分别是什么
1.类(class)
类是Java中的一种蓝图或模板,它定义了对象的属性(字段)和行为(方法)。你可以把类看作是一个抽象的概念,它描述了某类事物的共性。
class 类名 {
// 属性(字段)
数据类型 属性名;
// 构造方法
类名(参数) {
// 初始化代码
}
// 方法(行为)
返回类型 方法名(参数) {
// 方法体
}
}
类型一
class Dog{
public String name;
public int age;
public void eat(){
System.out.println(name+"吃狗粮");
}
public void bake(){
System.out.println("汪汪叫");
}
public static void main(String[] args) {
Dog dog=new Dog();
dog.eat();
}
}
类型二
public class Date {
public int year;
public int month;
public int day;
public void setDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public void printDay(){
System.out.println(this.year+"年"+this.month+"月"+this.day+"日");
}
2.对象(object)
对象是类的实例化。类是抽象的,而对象则是具体的。通过类定义的结构,可以创建多个对象,每个对象都有自己独立的属性值。
对象的创建
类名 对象名 = new 类名(参数);
类型一
public static void main(String[] args) {
Dog dog=new Dog();//对象的创建
Dog dog2=new Dog();
}
类型二
public static void main1(String[] args) {
Date date=new Date();
Date date1=new Date();
}
3.类和对象的关系
- 类是一个模板,它描述了对象的属性和行为。
- 对象是类的实例,类中定义的字段和方法会通过对象具体体现出来。
注:
- 类的属性(字段):描述对象的特征。
- 类的方法:定义对象的行为。
- 构造方法:用于创建和初始化对象。
- 对象:类的实例,实际的实体,通过
new
关键字创建。
二 类的实例化
在Java SE中,类的实例化是指根据类创建具体对象的过程。这个过程通过使用new
关键字来完成,并且通常会调用类的构造方法来初始化对象的属性。
1.类的实例化步骤:
- 定义类:首先你需要定义一个类,其中包含属性(字段)和方法(行为)。
- 构造方法:使用构造方法来初始化对象。在实例化时会自动调用构造方法。
- 实例化对象:使用
new
关键字创建类的实例(即对象)。 - 使用对象:通过对象可以访问类的属性和方法。
示例:
public class Date {
public int year;
public int month;
public int day;
public void setDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public void printDay(){
System.out.println(this.year+"年"+this.month+"月"+this.day+"日");
}
public Date(){
/* this.year=2008;
this.month=8;
this.day=8;*/
this(2001,1,1);
}
public Date(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public static void main(String[] args) {
Date date=new Date();
date.printDay();
}
public static void main1(String[] args) {
Date date=new Date();
/* date.year=2008;
date.printDay();*/
date.setDate(2004,8,8);
date.printDay();
Date date1=new Date();
date1.setDate(2005,5,5);
date1.printDay();
}
}
2.什么是构造方法
在Java SE中,构造方法(Constructor)是一种特殊的方法,用于在创建对象时对类的对象进行初始化。构造方法和类同名,并且没有返回类型(包括void
),它们在对象实例化时自动调用。
2.1构造方法的特点:
- 方法名与类名相同:构造方法的名称必须与类名完全相同。
- 没有返回类型:构造方法没有返回值,也不能声明为
void
。 - 自动调用:构造方法在使用
new
关键字实例化对象时自动调用。 - 可以重载:构造方法可以有多个,Java支持构造方法重载(参数列表不同)。
2.2构造方法的分类:
- 无参构造方法:没有参数的构造方法。
public Date(){
this(2001,1,1);
}
- 有参构造方法:带有参数的构造方法,用于在创建对象时传递值。
public Date(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
2.3构造方法的重载
Java允许多个构造方法的存在,只要它们的参数列表不同。通过构造方法的重载,可以根据需要提供不同的初始化方式。
三.this的引用
在Java SE中,this
是一个引用,表示对当前对象的引用。它常用于类的构造方法、实例方法和代码块中,帮助区分对象的属性和方法,尤其在参数名称与成员变量名称相同的情况下。this
可以用于多种场景。
1.this
的主要用途:
-
引用当前对象的实例变量: 当构造方法或方法的参数名称与类的成员变量名称相同,使用
this
可以区分成员变量和参数。this
用于引用当前对象的实例变量,而非局部变量或方法参数。 -
调用当前类的构造方法: 在一个构造方法中,可以使用
this(参数)
来调用同一个类中的其他构造方法。称为构造器链,用于简化代码逻辑。 -
返回当前对象:
this
还可以作为方法的返回值,通常用于链式方法调用(method chaining)。 -
传递当前对象作为参数:
this
可作为参数传递给方法或构造函数,表示将当前对象传递给其他对象或方法。
普通方法中:
public void setDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
构造方法中:
public Date(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
注:
this
引用当前对象,主要用于区分成员变量和局部变量,特别是在方法或构造函数的参数与类的字段同名时。this(参数)
可以在构造函数内调用同类的其他构造方法,用于简化构造器链。this
可以用作返回值,支持链式方法调用。this
可以作为参数传递,表示将当前对象传递给其他方法或构造函数。
这些特性让this
成为Java中灵活且常用的工具,特别是在对象构建和方法调用时。
希望能对大家有所帮助!!!!