首页 > 其他分享 >面向对象概述2

面向对象概述2

时间:2024-11-04 19:46:22浏览次数:7  
标签:变量 成员 局部变量 数据类型 面向对象 概述 内存 方法

6. 标准 JavaBean

6.1 标准的JavaBean类

1 类名需要见名知意

2 成员变量使用private修饰

3 提供至少两个构造方法

无参构造方法

带全部参数的构造方法

4 成员方法

提供每一个成员变量对应的SetXxx()/getXxx()方法.

如果还有其他行为,也需要写上

7. 对象内存图

7.1 一个对象的内存图

Student s = new Student();
1.加载class文件(进入方法区)
2. 申明局部变量(栈内存)
3 在堆内存中开辟一个空间(堆内存)
4 默认初始化
5 显示初始化
6 构造方法初始化
7 将堆内存中的地址值赋值给左边的局部变量

7.2 两个对象的内存图

第二次创建对象时,不需要再加载class文件到方法区,其余操作一致。

7.3 两个引用指向同一个对象

Student s1 = new Student();
Student s2 = s1;
将s1里面的地址值,赋值给s2
两个变量指向了同一个对象
此时堆内存仅有一个对象
s1 = null;
将s1指向的地址值赋值为0,即空指向。

8 基本数据类型和引用数据类型

8.1 传统角度

基本数据类型:四类8种 整数类型(byte、short、int、long)

浮点数类型(float、double)

布尔类型(Boolean)

字符类型(char)

引用数据类型:除了左边的其他所有类型

8.2 内存的角度来看

基本数据类型:数据值存储在自己的空间里。

特点:赋值给其他变量,也是赋的真实的值

引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值。

特点:赋值给其他变量,赋的是地址值。

9 this的内存原理

this的作用:区分局部变量和成员变量。

this的本质:所在方法调用者的地址值。

10 成员变量和局部变量

成员变量:类中方法外的变量

局部变量:方法中的变量

区别:

1.类中位置不同

成员变量:类中、方法外;局部变量:方法内,方法申明上

2.初始化值不同

成员变量:有默认初始值;局部变量:没有,使用之前需要完成赋值

3.内存位置不同

成员变量:堆内存;局部变量:栈内存

4 生命周期不同

成员变量:随着对象的创建而存在,消失而消失

局部变量:随着方法的调用而存在,随着方法的运行结束而消失

5 作用域

成员变量:整个类中有效

局部变量:当前方法中有效

标签:变量,成员,局部变量,数据类型,面向对象,概述,内存,方法
From: https://blog.csdn.net/m0_57132040/article/details/143492620

相关文章

  • 【JAVA】Java基础—Java概述:Java语言的历史与发展
    Java是一种广泛使用的编程语言,因其跨平台性、面向对象特性和强大的生态系统而受到开发者的青睐。Java最初由SunMicrosystems于1995年发布,经过多年的发展,已成为企业级应用、移动应用、Web开发和大数据处理等领域的主流语言。企业级应用:Java在大型企业应用中占据主导地位,特别......
  • 【JAVA】Java基础—Java概述:Java的特点
    Java语言因其独特的设计理念和强大的功能,在软件开发领域获得了广泛的应用。以下是Java的几个主要特点的详细说明,以及通俗易懂的例子来帮助理解这些概念。1.跨平台性理论说明Java的跨平台性是其最显著的特点之一,得益于Java虚拟机(JVM)的设计。Java程序在编译后生成字节码(.clas......
  • 低功耗蓝牙链路层概述
    目录一、链路层状态(LinkLayerstates)1.1.允许的状态和角色组合1.2. 仅支持部分状态的设备二、字节序(Bitordering)三、设备地址(Deviceaddress)3.1.设备地址的定义与类型3.2.设备地址的使用与比较3.3.设备地址的应用场景四、物理信道(Physicalchannel)4.1.物理......
  • [Python学习日记-60] 什么是面向对象的程序设计
    [Python学习日记-60]什么是面向对象的程序设计简介编程范式面向过程编程面向对象编程简介    前面我们学习了Python中的语法、数据类型、函数之类的一系列相关知识,我们对Python的编程也比较了解了,甚至可以写一些脚本出来进行一些文件的过滤或者日志的生成......
  • 面向对象三大特征之一:封 装
    1、特点封装是面向对象的核心思想,两层含义:一是一个整体(把对象的属性和行为看成一个整体,即封装在一个对象种),二是信息隐藏,对外隐藏,但可以通过某种方式进行调用。2、访问权限(1)private:当前类访问级别,属于私有访问权限。(2)default:本包访问权限,一个类中的属性或方法没有任何访问权......
  • 低功耗控制器概述
    目录一、定义与功能1.1.数据包的编码与解码1.2.无线电信号的发送与接收1.3. 与主机之间的通信桥接1.4.满足物联网和智能设备需求二、结构与层次2.1.物理层(PHY)2.1.1.数据编码与解码2.1.2.工作参数与属性2.2.链路层(LL)2.2.1.连接管理2.2.2.数据传2.2.3.状......
  • 面向对象试题带答案
    一、选择题 (1)下列函数中(1)是不能重载的。A)成员函数B)非成员函数C)析构函数D)构造函数(2)下列重载函数的描述中,(2)是错误的。A)重载函数中不允许使用默认参数B)重载函数中编译系统根据参数表进行选择C)不要使用重载函数来描述毫不相干的函数D)构造函数重载将......
  • C++面向对象三大特性之多态
    1.1多态的基本概念 继承性反映的是类与类之间的层次关系,多态性则是考虑这种层次关系以及类自身特定成员函数之间的关系来解决行为的再抽象问题。其实就是同一符号或者名字在不同情况下具有不同解释的现象,即是指同一个函数的多种形态。多态分为两类1.静态多态:函数重载和运......
  • Python基础学习(十一)面向对象编程(进阶)
    代码获取:https://github.com/qingxuly/hsp_python_course完结版:Python基础学习(完结版)面向对象编程(进阶)面向对象编程三大特征面向对象编程有三大特征:封装、继承、多态。面向对象编程—封装封装介绍封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]......
  • Python基础学习(十)面向对象编程(基础)
    代码获取:https://github.com/qingxuly/hsp_python_course完结版:Python基础学习(完结版)面向对象编程(基础)类与对象类与实例的关系类与实例的关系示意图快速入门—面向对象的方式解决养猫问题#定义一个猫类,age,name,color是属性,或者称为成员变量#Cat类就是你......