类和对象 野性酷女 2022-05-09 10:28 256阅读 0赞 ## 本章目标 ## * 类和对象概念 * 理解封装 * this关键字 * Static关键字 ## 类的概念 ## 类在生活中就是一个类别的统称 ![在这里插入图片描述][70] 类:类是一个模板,它描述一类对象的行为和状态。 在每一个类中都有自己的属性和方法 **java中创建类** Java语言中定义类的语法 ![在这里插入图片描述][70 1] **Java中定义类的通用格式:** ![在这里插入图片描述][70 2] **创建类规则** 类的命名规则: 1. 不能为 Java 中的关键字 2. 不能包含空格或点号“.” 3. 只能以下划线“\_”、 “$”符号或字母开头 **对象的概念** 对象表示现实世界中某个具体的事物。 抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程。 对象具有两方面的含义: 在现实世界中: * 是客观世界中的一个实体 在计算机世界中: * 是一个可标识的存储区域 **创建对象** 类定义好之后就可以根据类来创建对象,然后才可以操作对象的属性和方法创建对象的语法 类名 对象名=new 构造方法名(); new 构造方法() 在堆中开辟了对象的空间 调用了相应的构造方法 返回对象的引用(地址值) **操作对象** 对象的操作就是通过对象名来调用(操作)对象中的属性和方法 对象名.属性名; (操作对象的属性) 对象名.方法名(); (操作对象的方法) class aaa{ public void xiangjia(int a,int b){ int c=a+b; System.out.println("相加的结果是"+c); } public void xiangjian(int a,int b){ int c=a-b; System.out.println("相减的结果是:"+c); } } 在类中定义了两个方法分别是 xiangjia() ,xiangjian() public class bbb { public static void main(String[] args) { aaa aa=new aaa();//创建对象 aa.xiangjia(10, 11);//调用相加方法 aa.xiangjian(20,18);//调用相减方法 } } **封装** 概念:封装是一种信息隐藏技术,就是将对象的属性和操作结合为一个整体,竟可能的隐藏内容实现细节 封装的好处: * 将变化隔离 * 便于使用 * 提高复用性 * 提高安全性 java面向对象语言,他有三大特点 1. 封装 2. 继承 3. 多态 **this关键字** this变量代表对象本身 当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量 ![在这里插入图片描述][70 3] **Static关键字** static表示“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 **static变量** 按照是否静态的,对类成员变量进行分类可分两种: * 一种是被static修饰的变量,叫静态成员变量或类变量; * 另一种是没有被static修饰的变量,叫实例变量。 两者的区别是: * 静态成员变量是存储方法区内存中,只会存在一份数据。 在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。 静态的成员变量数据是随着类的加载而存在,随着类文件的消失而消失。 * 非静态的成员变量是存储在堆内存中,有n个对象就有n份数据,互不影响(灵活)。 非静态的成员数据是随着对象的创建而存在,随着对象被垃圾回收器回收而消失。 在之前讲过java将内存分为五大区: * 栈内存 * 堆内存 * 方法区 * 本地方法区 * 寄存器 *注意:被static修饰的成员变量存储在方法区,方法区同时也称之为 共享区或者数据区,没有被static修饰的成员变量存储在堆内存* ![在这里插入图片描述][70 4] **static方法** static修饰方法(静态的成员方法): 静态方法要注意的事项: 1. 静态方法是通过类名调用或者对象进行调用的,而非静态方法只能使用对象进行调用。 2. 静态的方法可以直接访问静态的成员,但是不能直接访问非静态的成员。 原因:静态方法是可以使用类名直接调用的,这时候可能还没有存在对象,而非静态的成员数据是随着对象的存在而存在的。 1. 非静态的方法是可以直接访问静态与非静态的成员。 原因:非静态方法只能由对象调用,当对象存在的时候,静态数据老早就已经存在了,而非静态数据也随着对象的创建而存在了。 2. 静态方法不能出现this或者super关键字。 原因:因为静态的方法是可以使用类名调用的,一旦使用类名调用这时候不存在对象,而this关键字是代表了一个方法 的调用者对象,这时候产生了冲突。 **static静态注意事项** 1. 静态方法只能访问静态成员(成员方法,成员变量); 2. 非静态方法即可以方法静态方法也可以直接方法非静态方方; 3. 静态方法中不可以出现this关键字,因为静态优先于对象存在 **包** * 包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件。 有助于避免命名冲突,包基本上隐藏了类并避免了名称上的冲突。 * 包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类。 * 包可以是类、接口和子包的集合 **总结** ![在这里插入图片描述][70 5] [70]: /images/20220509/32e5b3cb1af547cf938d5a7ae9878938.png [70 1]: /images/20220509/0dffbdee61b94724a5c514ca20ac9dff.png [70 2]: /images/20220509/59654ea6a71e465d90ee3c3883505186.png [70 3]: /images/20220509/9484a0f01eac4d278b3f60ecc8e24d8f.png [70 4]: /images/20220509/c86fed88eb904f99a31bc65f35f6f40e.png [70 5]: /images/20220509/5e78702346464a8f98666125d1a0c0ba.png
相关 类和对象 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub Myth丶恋晨/ 2023年03月12日 09:23/ 0 赞/ 41 阅读
相关 类和对象 类 概述: java是一门面向对象的编程思想的语言,java就是使用这种思想,类就是java中对面向对象思想使用的一种表现形式。 java中用来对事物的特征和行为 心已赠人/ 2022年12月28日 06:15/ 0 赞/ 31 阅读
相关 类和对象 1.什么是类? 类是用用户定义的类型的定义。类声明了数据如何储存(数据类型)、用来访问和操作这些数据的方法(类方法或类成员函数)。 class classNam 谁践踏了优雅/ 2022年06月08日 03:52/ 0 赞/ 216 阅读
相关 类和对象 类和对象是Java语言的重要概念,如何理解它们和应用它们,也是OOD和OOP的关键。 打个比方,若说类是图纸,那么对象就是按着图纸构造出来一个个实体;若说类是模型,那么对象 太过爱你忘了你带给我的痛/ 2022年06月04日 10:18/ 0 赞/ 467 阅读
相关 类和对象 类是一个抽象的个体,里面有它的属性和方法,属性是它具有的特征,方法是它能实现怎样的功能。而类所创建出来的方法也是一种对象。 方法里面有权限修饰符、返回值、方法名、参数列表和 淡淡的烟草味﹌/ 2022年06月01日 07:16/ 0 赞/ 202 阅读
相关 类和对象 类和对象的区别 类 类是一个抽象的概念,类不存在与现实生活中,它只是为一些对象定义了抽象的属性和行为;没有为类创建任何对象时,类本身是不会存在于内存中的; 对象 「爱情、让人受尽委屈。」/ 2022年05月29日 12:52/ 0 赞/ 208 阅读
相关 类和对象 类是客观存在的事物,类是确定对象会拥有的特征(属性)和行为(方法),它不是具体客观存在的东西。 由此我们可以总结一下类的特点: 1、类是对象的类型。 2、类是具有相同属 痛定思痛。/ 2022年05月15日 14:22/ 0 赞/ 217 阅读
相关 类和对象 本章目标 类和对象概念 理解封装 this关键字 Static关键字 类的概念 类在生活中就是一个类别的统称 ![在这里插入图片描述][ 野性酷女/ 2022年05月09日 10:28/ 0 赞/ 257 阅读
相关 类和对象 类概念的引出 通过之前的学习我们知道计算机表示数据可以使用八大基本数据类型,但是如何表示现实世界的一个人,一只猫,一条狗呢?计算机又如何模拟现实世界的一些事物呢? 如果 比眉伴天荒/ 2022年03月26日 14:08/ 0 赞/ 262 阅读
相关 类和对象! 啥是类?啥又是对象? 在Java中类和对象可以说是我们经常会用到的了,类也就是我们的class,对象则是object,有的时候也叫做实例,英文是instance,那这俩有啥关 港控/mmm°/ 2021年09月08日 11:30/ 0 赞/ 603 阅读
还没有评论,来说两句吧...