什么是面向对象
·面向对象编程:OOP
·面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
·三大特性:
·封装
·继承
·多态
·抽象(把几个事物中像的那部分抽出来)
·从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的。是对对象的抽象。{先有会教书的(对象)人,后有老师(类)这一类人)}
·从代码的角度考虑是先有类后有对象。类是对象的模板
类与对象的关系
类:
·类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
·动物(猫、狗、猪等)、植物(花、草、树等)、手机(苹果、安卓等)
·Person类、Pet类、Car类等,这些类都是用来描述/定义某一具体你的事物应该具备的特点和行为
对象:
·对象是抽象概念的具体实例
·张三就是人的一个具体实例,张三家的旺财就是狗的一个具体实例
·能够体现出特点,展现出功能的是具体的实例,而不是一个抽象概念
创建与初始化对象
·使用new关键字创建对象
·使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中构造器的调用
构造器:
·类中的构造器也叫构造方法,是在进行创建对象的时候必须要调用的,并且构造器有一下两个特点:
·必须和类的名字相同
·必须没有返回值类型,也不能写void
·作用:
·new本质在调用构造方法
·初始化对象的值
·注意点:定义有参构造之后,如果想使用无参构造,那么无参构造必须是显示出完整的代码
实例:
1、无参构造
//无参构造
public Student(){
}
2、有参构造
//有参构造
public Student(String name){
this.name=name;
}
3、当出现以上的注意点中出现的情况时
//无参构造
public Student(){
this.name="xiaoming";
}
//有参构造
public Student(String name){
this.name=name;
}