Java的类和对象
**Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情****
❤用通俗的话来说就是,我们把写代码比作洗衣服。洗衣服可能有很多步骤,包括加洗衣液,放入洗衣机,清洗,甩干等等。面向对象就是我们只用关注洗衣机这个对象,只关心把衣服放入洗衣机,洗好了再拿出来就行。不用关心那么多复杂的步骤,不用关心它具体是怎么洗衣服的。
## 类的定义
类就是对实体也就是对象的描述,描述其的属性和功能
用洗衣机来举例子;洗衣机的颜色,功率,尺寸等就是属性
而它的清洁功能,甩干功能就是功能。
❤对应到Java语言中就是成员变量和成员方法
###class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
接下来定义一个pig类
在这里插入图片描述根据上面代码可以看出我们定义了一个pig 类,其中name,age为这个类的成员变量,call是一个方法。
✔❤最重要的是我们发现了一个关键字new
Java中用new来实例化一个对象,然后通过.号来调用属性和方法
接下来再看一段代码
!
这里有一个关键字this不知道大家发现没有
其实this的作用就是用来区分变量。因为成员变量中定义了year,month,day.然后成员方法setdate中的形参与成员变量的名称相同。所以this.year=year中,第一个year就是成员变量,第二个则是形参。要注意的是this只能在本类中使用。
对象的初始化
上面我们了解了Java的类和对象的创建,接下来我们了解一下对象的初始化
这里我们可以看到变量a没有初始化,导致编译失败。也就是需要给a一个初始值,才能通过编译。
那么在使用对象的时候要不要初始化变量呢?
接下来就要引入一个重要的知识点就是构造方法
构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且
在整个对象的生命周期内只调用一次
构造方法就是对对象中的成员进行初始化,构造方法又分为无参构造和有参构造。
无参构造
在创建对象时,编译器会自动提供一个无参构造方法,这里的无参构造与类名相同且没有任何参数。但是如果程序员自己写了有参构造就不会产生无参构造方法了。
例如;puiblic class dog{
public String name;
public int age;
public dog{
}
}
public dog{
}
这里的代码就是无参构造
有参构造方法
先看一段代码
这里的public dog(String name , int age){
this.name = name;
this .age= age;
}
就是一个有参构造方法,这里好处就是下面创建dog 对象时,可以直接在括号里赋值,不需要再用引用.来赋值。