面向对象
概念
面向对象是相对于面向过程而言的, 具体的来说, 比如: 我们想要吃一顿午饭,我们亲自买菜,洗菜.切菜,炒菜,煮饭,这样做成一桌菜就叫面向过程,也就是说整个过程 你都亲自完成,而 面向对象呢?点外卖 点一桌子菜和米饭 不管他咋做出来的
面向过程编程 就是 我们想要实现一个功能 直接去调用别人写好的功能代码 传入我们想要处理的数据 直接就得到我们想要的结果 这就是面向对象
类和对象
类 描述一类事物 比如说 人就是一个类 我们都可以说自己是人
对象 就是具体到我们每一个人
我们可以说 我们是人的实例化对象
代码举例
package cn.Test;
public class Test {
/*在设计一个类的时候
* 我们将共有的特征写成属性 如果属性的值 大家都一样就用static修饰
* 行为写成方法 如果想在不创建对象的情况下且在static修饰的方法中使用该方法 那该方法就要用static修饰
* 我们的People类中
* name age 就是属性
* liveSpace 也是属性 但是他对应值 Earth 大家的都一样所以我们用static修饰
* run() selfintro() 都是方法
* */
public static void main(String[] args) {
// 测试我们写的类
// 新建对象 我们每需要存储一个人的信息 只需要重新创建那一个对象 其实 类 就是对象的一个模板
People peo1 = new People("小明", 18);
People peo2 = new People("小花", 18);
People peo3 = new People("小豪", 18);
// 通过类名 调用 我们的static 修饰的方法和属性
People.run();//打印 "在夕阳下的奔跑"
System.out.println(People.liveSpace);//打印 Earth
// 试试用类名调不是static 修饰的方法
//People.selfintro();//会报错
// 不是static修饰的方法和属性 只能用对象名去调用
peo1.selfintro();// 打印 我的名字叫小明
}
}
class People {
// 我们设计一个人 类
//每个人都有名字 所以我们声明一个String 类型的变量来存储名字
String name;
//每个人都有年龄 所以我们声明一个int 类型的变量来存储年龄
int age;
// 我们大家都生活在地球 我们可以声明一个String 类型的变量来存储我们的生活的星球
static String liveSpace = "Earth";// 地球是我们共有的 是一样的 所以要用Static修饰
// 构造方法 在我们创建对象的时候使用 可以用来给我们的属性赋初值
People(String name,int age){
this.name = name;
this.age = age;
}
static void run(){//
System.out.println("在夕阳下的奔跑");
}
void selfintro(){// 自我介绍
System.out.println("我的名字叫"+this.name);
}
}