OOP(Object Oriented Programming)面向对象的编程
面向过程:按照步骤来划分的
面向对象:按照功能、模块来划分
举例:把大象放冰箱里
面向过程:把冰箱门开开,大象装进去,冰箱门关上
面向对象:调用一个方法,大象就被装进冰箱去了,不需要关注具体的细节
类是对一类事物的抽象,而对象是具体的实例,它是实实在在存在的东西
举例:类就是盖楼房时用的图纸,而对象就是盖好的楼房
在Java中“万事万物皆对象”
类 | 对象 |
汽车 | 楼下停的汽车 |
老师 | 孙逊 |
电脑 | 苹果机房里的那台电脑 |
狗 | 小黑 |
桌子 | 现在用的桌子 |
声明类的格式:
[修饰符] class 类名 {
成员变量、属性;
方法;
}
类中只能写成员变量(属性)和方法
根据类的声明,使用new关键字将类实例化,生成对象
Int a = 10;
Person p = new Person();
成员变量的调用:“对象名.属性名” 方法的调用:“对象名.方法名”
默认情况下,如果没有给成员变量(属性)赋初值,会有默认的初始值
数据类型 | 初始值 |
Boolean | False |
Char | ‘\u0000’ |
Short | 0 |
int | 0 |
long | 0L |
Float | 0.0f |
Double | 0.0 |
引用数据类型 | null |
每个对象的属性在内存中都有其独立的空间, 方法是共享的
构造方法:类通过调用构造方法来实例化一个对象,构造方法的名字与类同名,没有返回值,并且不用void关键字,如果一个类在声明的时候没有显示的去写构造方法,那么默认会提供一个空参构造,形式如下:
构造方法名(){
}
动物类: 属性(颜色 名字体重 ) 方法(跑、跳、吃)
长方形类:属性(长、宽) 方法(面积、周长)
圆:属性(半径) 方法(面积、周长)
小王拿枪打小李