面向对象的基本知识(一)
1.面向对象的本质:它是一种编程范式,也就是一种编程思想
2.区分面向对象和面向过程:面向过程关注的是代码实现的细节,面向对象是先把代码实现的过程整合到对象中,只要创建出对象,就可以获取所有的功能,面向对象是基于面向过程的,简单的场景适用于面向过程,复杂的场景适用于面向对象
3.对象和类的基本关系:对一类对象进行抽取,把共有的特征信息抽取成属性,把共有的行为信息所抽取成方法,把这一类对象抽取形成对应的类。类是对象的一个概况,对象是类的具体实现
4.定义一个简单的人的类,每个人都有名字,性别,年龄,身高,等特征信息,我们将其抽取成属性,然而每个人也都会有吃饭,睡觉,打游戏等等行为,我们就将其抽取为方法,代码如下
class Person{
String name;
int age;
char gender;
//此处应该封装,属性私有化,后面笔记我会解释为什么需要封装
public void sleep(){
System.out.println(name+"在睡觉");
}
public void eat(){
System.out.println(name+"在吃饭");
}
}
此时我们就创建好了一个类
此时我们需要在main方法中,创建一个代表Person类的对象,也就是一个具体的人
Public class ObjectDemo1{
public static void main (String[] args){
Person p=new Person();
//默认调用底层的无参构造,创建出来的对象
//给属性进行赋值
p.name="豆豆";
p.age=12;
p.gender='男';
//对象调用方法
p.eat();
//java中所有的非静态属性和非静态方法都需要对象来调用
}
}
5.在创建对象的时候,我们是需要通过构造方法来创建对象的,构造方法分为两种,有参构造和无参构造,构造方法与普通的方法不同,它与类同名,且没有返回值,当类中没有任何形式的构造方法时,jvm会在底层默认添加了一个无参构造,有参构造可以创建对象的同时,也可以对属性进行初始化,当 类中有构造方法,底层就不会自动添加无参构造,这也就保证了在类中至少会存在一个构造方法,确保可以创建出来对象,构造方法支持重载
面向对象基础二会讨论this关键字的使用,局部代码块,构造代码块,成员变量和局部变量的区别