欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面向对象的基本概念(前篇)

程序员文章站 2022-06-19 15:54:23
面向对象(基础部分)一、对象(objecrt)两方面含义:1、客观世界中的实体2、可标识的存储区域二、类(class)1、类:具有共同属性和行为的对象集合(1)属性:变量(字段) (姓名、年龄等)(2)行为:函数(方法)2、类与对象的关系(1)类是对象的抽象(模板)(2)对象是类的实例三、面向对象的三大特征封装、继承、多态1、封装(1)模块化:将属性和行为都封装在类中(2)信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类2、继承(1)继承性:父类和子类之...
一、对象(objecrt)

两方面含义:
1、客观世界中的实体
2、可标识的存储区域

二、类(class)
1、类:具有共同属性和行为的对象集合

(1)属性:变量(字段) (姓名、年龄等)
(2)行为:函数(方法)

2、类与对象的关系

(1)类是对象的抽象(模板)
(2)对象是类的实例

三、面向对象的三大特征

封装、继承、多态

1、封装

(1)模块化:将属性和行为都封装在类中
(2)信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类

2、继承

(1)继承性:父类和子类之间共享数据和方法
(2)继承的好处:
a.更好地进行抽象与分类
b.增强代码的重用率
c.提高可维护性
(3)重写:用子类中写的方法替换掉父类的方法
完成重写的条件:方法名称、参数类型、返回值和参数个数相同,权限修饰符不小于父类。
注意:
① 当创建子类对象时,内部会首先创建父类对象,子类对象之所以能引用父类对象,是因为其内部有个super用来存储父类的地址。
② 子类访问父类时,默认通过无参构造方法来访问,如果没有,那么子类在继承时则需要明确地通过super来访问
③ 当super调用构造方法时,必须写在子类构造方法的第一行。
面向对象的基本概念(前篇)

3、多态

(1)不同对象收到同一个消息(调用方法)可产生完全不同的效果
(2)实现的细节由接收对象自行决定
面向对象的基本概念(前篇)
[此图片来自网络,如有侵权,请联系本人删除!]

四、面向对象三大思想

面向对象思想从概念上讲分为以下三种:OOA、OOD、OOP
OOA:面向对象分析(Object Oriented Analysis)
OOD:面向对象设计(Object Oriented Design)
OOP:面向对象程序(Object Oriented Programming

五、对象的创建与使用

一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new 类名称() ;
如果要想访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式:
访问类中的属性: 对象.属性 ;
调用类中的方法: 对象.方法(实际参数列表) ;

六、创建对象内存分析
1、栈

特点:先进后出
存储的是: 基本数据类型的数据以及引用数据类型的引用
(栈内存, 通过 ‘栈指针’ 来创建空间与释放空间)

2、堆

存放的是:类的对象
所有类的对象都是通过new关键字创建

垃圾回收器 回收堆内存的规则:
当栈内存中不存在此对象的引用时,则视其为垃圾 , 等待垃圾回收器回收

3、方法区

存放的是

  • 类信息
  • 静态的变量
  • 常量
  • 成员方法
    方法区中包含了一个特殊的区域 ( 常量池 )(存储的是使用static修饰的成员)
4、PC寄存器

PC寄存器保存的是 当前正在执行的 JVM指令的 地址
在Java程序中, 每个线程启动时, 都会创建一个PC寄存器

5、本地方法栈

保存本地(native)方法的地址

七、构造方法(构造器)
1、概述

作用:用于对象初始化。
执行时机:在创建对象时,自动调用
特点:所有的Java类中都会至少存在一个构造方法

(如果一个类中没有明确的编写构造方法, 则编译器会自动生成一个无参的构造方法, 构造方法中没有任何的代码!
如果自行编写了任意一个构造器, 则编译器不会再自动生成无参的构造方法。)

2、定义格式

与普通方法基本相同,区别在于:方法名称必须与类名相同,没有返回值类型的声明

八、方法的重载

方法名称相同, 参数类型或参数个数不同, 可以完成方法的重载,方法的重载与返回值无关

九、构造方法的重载

一个类, 可以存在多个构造方法:参数列表的长度或类型不同即可完成构造方法的重载
构造方法的重载 ,可以让我们在不同的创建对象的需求下, 调用不同的方法来完成对象的初始化

十、匿名对象

没有对象名称的对象 就是匿名对象。
匿名对象只能使用一次,因为没有任何的对象引用,所以将称为垃圾,等待被G·C回收。
只使用一次的对象可以通过匿名对象的方式完成。

中篇传送门

本文地址:https://blog.csdn.net/JDBC400451/article/details/107366494