前言
面向对象最关键的两个词汇是类与对象,实质上可以将类看作对象的抽象,它定义了对象所具有的属性和方法。学习 Java 语言必须掌握类与对象,这样可以从深层次理解 Java 这种面向对象语言的幵发理念。因此,掌握类与对象是学习 Java 语言的基础,可以使开发人员更好、更快地掌握 Java 编程思想与编程方式。
一. 面向过程与面向对象
1.1 面向过程(POP)与面向对象(OOP)
- 二者都是一种思想,面向对象是相对于面向过程而言的。
- 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
- 面向对象:将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
- 面向对象更加强调用了人类在日常的思维逻辑中采用的思想方法与原则,如:抽象、分类、继承、聚合、多态等。
1.2 面向对象的三大特征
- 封装 (Encapsulation)
- 继承 (inheritance)
- 多态 (Polymorphism)
面向对象:Object Oriented Programming
面向过程:Procedure Oriented Programming
1.3 理解面向过程与面向对象
举例:人把大象装进冰箱
//面向过程
1.打开冰箱
2.把大象装进冰箱
3.把冰箱门关注
//面向对象
人{
打开(冰箱){
冰箱.开门();
}
操作(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.关门();
}
}
冰箱(){
开们(){};
关门(){};
}
大象(){
进入(冰箱){};
}
1.4 面向对象的思想概念
-
程序员从面向过程的执行者转化成了面向对象的指挥官
-
面向对象分析方法分析问题的思路和步骤:
- 根据问题需要,选择问题所针对的现实世界中的实体。
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类
- 把抽象的实体用计算机语言进行描述,形成计算机世界中的类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
- 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
二. Java语言的基本元素:类和对象
2.1 类(Class)和对象(Object)是面向对象的核心概念。
- 类是对一类事物的描述,是抽象的、概念上的定义。
- 对象是实际存在的该类事物的每个个体,因而也成为实例(instance)。
2.2 类和对象的概念
- 可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人
- 面向对象程序设计的重点是类的设计
- 类的设计,其实就是类的成员的设计
2.3 类的语法结构
修饰符 class 类名{
属性声明;
方法声明{}
}
2.4 对象的语法结构
创建对象的语法:类名 对象名 = new 类名();
使用"对象名.属性名"的方式访问对象的属性
使用"对象名.方法名()"的方式访问对象的方法
2.5 类和对象的使用
创建一个学生类
/**
*学生类
*/
public class Student{
//属性
String name; //姓名
int age; //年龄
double score; //成绩
//方法
public void showInfo(){
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("成绩:"+score);
}
}
创建对象即调用学生类并使用
public class TestStudent{
public static void main(String[] args){
//创建对象
Student stu = new Student(); //调用学生类
//初始化属性
stu.name="学生"; //姓名
stu.age=19; //年龄
stu.score=89.5; //成绩
//调用方法
stu.showInfo(); //调用方法
}
}
2.6 数据类型的默认值
类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0 |
char | ‘\u0000’ |
boolean | false |
引用数据类型 | null |
三. 对象的内存解析
public class Person{
int age; //成员变量
public void shout(){ //方法
System.out.println("oh,my,god! I am "+age);
}
}
public class TestPerson{
public static void main(String[] args){
//创建对象
Person p1 = new Person();
Person p2 = new Person();
p1.age=-30; //初始化成员变量
p1.shout(); //调用方法
p2.shout();
}
}
来源:CSDN
作者:自学之路←_←
链接:https://blog.csdn.net/qq_43636251/article/details/103559436