![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java尚硅谷面向对象基础
文章平均质量分 80
个人学习
沈四岁
这个作者很懒,什么都没留下…
展开
-
面向对象编程(基础)1:面向对象思想精髓的理解
面向对象,是软件开发中的一类编程风格、开发范式。除了面向对象,还有面向过程指令式编程和函数式编程。在所有的编程范式中,我们接触最多的还是面向过程和面向对象两种。类比:史书类型纪传体:以人物传记为中心,“本纪”叙述帝王,“世家”记叙王侯封国和特殊人物,“列传”记叙民间人物。编年体:按年、月、日顺序编写。国别体:是一部分国记事的历史散文,分载多国历史。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显,出现了面向对象思想并成为目前主流的方式。原创 2023-04-04 10:40:28 · 1101 阅读 · 0 评论 -
面向对象编程(基础)2:Java语言的基本元素:类和对象
类(Class)和对象(Object)是面向对象的核心概念。1、什么是类类:具有相同特征的事物的抽象描述,是抽象的、概念上的定义。2、什么是对象对象:实际存在的该类事物的每个个体,是具体的,因而也称为实例(instance)。类 => 抽象概念的人;对象 => 实实在在的某个人面向对象程序设计的重点是类的设计类的设计,其实就是类的成员的设计现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同理,Java代码世界是由诸多个不同功能的类构成的。原创 2023-04-04 10:55:40 · 762 阅读 · 1 评论 -
面向对象编程(基础)3:对象的内存解析
HotSpot Java虚拟机的架构图如下。其中我们主要关心的是运行时数据区部分(Runtime Data Area)。堆(Heap)此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。栈(Stack):是指虚拟机栈。虚拟机栈用于存储局部变量等。原创 2023-04-04 13:39:44 · 700 阅读 · 0 评论 -
面向对象编程(基础)4:类的成员之一:成员变量(field)
(1)实例变量:public,protected,private,final,volatile,transient等。(2)局部变量:和方法调用的生命周期一样,每一次方法被调用而在存在,随着方法执行的结束而消亡,(1)实例变量:和对象的生命周期一样,随着对象的创建而存在,随着对象被GC回收而消亡,(1)实例变量:通过对象就可以使用,本类中直接调用,其他类中“对象.实例变量”(2)局部变量:没有,必须手动初始化。(2)局部变量:在方法体{}中或方法的形参列表、代码块中。(1)实例变量:在类中方法外。原创 2023-04-04 13:53:16 · 872 阅读 · 0 评论 -
面向对象编程(基础)5:类的成员之二:方法(method)
类{方法1(){方法2(){(1)创建Person类的对象,设置该对象的name、age和sex属性,调用study方法,输出字符串“studying”,调用showAge()方法显示age值,调用addAge()方法给对象的age属性值增加2岁。(2)创建第二个对象,执行上述操作,体会同一个类的不同对象之间的关系。原创 2023-04-04 21:33:54 · 1707 阅读 · 0 评论 -
面向对象编程(基础)6:对象数组
数组的元素可以是基本数据类型,也可以是引用数据类型。当元素是引用类型中的类时,我们称为对象数组。定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。问题一:打印出3年级(state值为3)的学生信息。问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息提示:生成随机数:Math.random(),返回值类型double;原创 2023-04-04 21:51:24 · 444 阅读 · 0 评论 -
面向对象编程(基础)7:再谈方法(重载)
方法名为mOL。三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。在主类的main ()方法中分别用参数区别调用三个方法。练习3递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。考虑使用循环迭代。原创 2023-04-05 17:07:36 · 896 阅读 · 0 评论 -
面向对象编程(基础)8:关键字:package、import
java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread,提供常用功能java.net----包含执行与网络相关的操作的类和接口。java.io----包含能提供多种输入/输出功能的类。java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。java.text----包含了一些java格式化相关的类java.sql----包含了java进行JDBC数据库编程的相关类/接口。原创 2023-04-05 19:28:20 · 963 阅读 · 0 评论 -
面向对象编程(基础)9:封装性(encapsulation)
在PersonTest类中实例化Person类的对象b,调用setAge()和getAge()方法,体会Java的封装性。所谓封装,就是把客观事物封装成抽象概念的类,并且类可以把自己的数据和方法只向可信的类或者对象开放,向没必要开放的类或者对象隐藏信息。随着我们系统越来越复杂,类会越来越多,那么类之间的访问边界必须把握好,面向对象的开发原则要遵循“高内聚、低耦合。开发中,一般成员实例变量都习惯使用private修饰,再提供相应的public权限的get/set方法访问。(后面final关键字的时候讲)原创 2023-04-05 19:28:41 · 730 阅读 · 0 评论 -
面向对象编程(基础)10:类的成员之三:构造器(Constructor)
我们new完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要挨个为它们再赋值,太麻烦了。我们能不能在new对象时,直接为当前对象的某个或所有成员变量直接赋值呢?可以,Java给我们提供了,也称为构造方法。原创 2023-04-05 19:33:50 · 1321 阅读 · 0 评论 -
面向对象编程(基础)11:阶段性知识补充
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。你拖动IDE构建工具创建一个GUI 组件(如多选框),其实是工具给你创建Java类,并提供将类的属性暴露出来给你修改调整,将事件监听器暴露出来。可以更加直观地描述类内部结构(类的属性和操作)以及类之间的关系(如关联、依赖、聚合等)。顺序:① - ② - ③ - ④。原创 2023-04-05 19:36:59 · 755 阅读 · 0 评论