网站首页 > 文章精选 正文
面向对象学习的三条主线:
1、Java类及类的成员:属性(成员变量)、方法、构造器;代码块、内部类
2、面向对象的三大特性:封装、继承、多态
3、关键字:this、super、static、final、abstract、interface、package、import等
面向对象与面向过程:
1、面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做;
2、面向对象:强调具备功能的对象,以类、对象为最小单位,考虑谁来做
完成一个功能(项目)的思路:
- 根据问题需求,选择问题所针对的现实世界的实体类。
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能形成了概念世界中的类。
- 把抽象的实体用计算机语言进行描述,形成计算机中类的定义。
- 将类实例化成计算机中的对象。
面向对象中两个重要的概念:
类:对一类事物的描述,是抽象的、概念上的定义
对象:是实际存在的该类事物的每个个体,也被称为实例 instance
>面向对象程序设计重点是类的设计
>设计类,就是设计类的成员
面向对象思想落地的实现规则:
- 创建类,设计类的成员
- 创建类的对象
- 通过 “对象 . 属性” 或者 “对象 . 方法” 调用对象的结构
注:属性 == 成员变量 == field == 字段、域
方法 == 函数 == 成员方法 == method
创建类的对象 == 类的实例化 == 实例化类
对象的内存解析:
class Car{
String color = "red";
int num = 4;
void show(){
System.out.println("color="+color+"..num="+num);
}
}
class CarTest {
public static void main(String[] args) {
Car c1 = new Car();
//建立对象c1
Car c2 = new Car();
//建立对象c2
c1.color = "blue"; //对对象的属性进行修改
c1.show(); //使用对象的方法
c2.show();
} }
属性 vs 局部变量:
相同点:
定义变量的格式:数据类型 变量名 = 变量值;
先声明,后使用;
变量都其对应的作用域;
变量的分类:
方式一:按数据类型
方式二:按在类中声明的位置
方法的声明:权限修饰符 返回值类型 方法名 (形参列表){ 方法体 }
Java方法中参数传递机制具体体现?
参数为基本数据类型时传递:数据值
参数为引用数据类型时传递:地址值(含变量的数据类型)
匿名对象:
在new一个对象的时候,没有显示的赋给一个变量名,即是匿名对象。
特点:匿名对象只能调用一次
例:new User() . eat();
new Phone() . sendEmail();
应用场景:
PhoneMall mall = new PhoneMall();
//匿名对象的使用
mall . show ( new Phone() );
class PhoneMall (){
public void show (Phone phone) {
phone . sendEmail ();
phone . pay();
}
}
猜你喜欢
- 2025-06-03 2、Java面向对象编程思想(超详细)
- 2025-06-03 信息系统项目管理师综合知识:面向对象方法
- 2025-06-03 canvas学习和面向对象(二)(canvas详解)
- 2025-06-03 python进阶突破面向对象——四大支柱
- 2025-06-03 Swift 面向对象解析(一)(swift 面向协议编程)
- 2025-06-03 简述JS面向对象编程(个人理解,简易版)
- 2025-06-03 软考系规:面向对象系统分析与设计详解
- 2025-06-03 Python基础篇-面向对象编程(python 面向对象知乎)
- 2025-06-03 此继承非彼继承,今天说的是面向对象的基本特征之一
- 2025-06-03 一张图深入解析面向对象常见概念,秒懂
- 最近发表
-
- 面试中常被问到的Hash表,你了解吗
- JAVA面试考点:一文搞懂一致性Hash的原理和实现
- 一次性搞清楚equals和hashCode(hashcode() 与equals()区别,简单说明)
- HashMap.Key的故事:Key为什么出现Hash碰撞及冲突呢?
- hash冲突的几种解决方案对比(hash冲突的解决方式)
- 游戏王LN 无头骑士(无头骑士cv)
- Linux ln、unlink命令用法(linux link命令详解)
- n和l分不清矫正发音方法,这三步就够了
- golang引用私有gitlab项目代码(golang引入当前包下的文件)
- Instamic:录音领域中的 GoPro,让你想录就录,随心所欲
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)