| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java基础入门第七天 -> 正文阅读 |
|
[Java知识库]Java基础入门第七天 |
面向对象(上) 对于面向对象啊,通俗理解自身认为就是跟数学里面东西一样,规定好一个数学公式你直接自己拿来用!这个面向对象就可以理解为自己定一个公式,然后调用它!面向对象是Java内容的核心部分,分为上、中、下来简单做一下总结! 1.面向对象学习得三条主线:
2.面向对象与面向过程(理解)
3.完成一个项目(或功能)的思路:
4.面向对象 中两个重要概念: 类:对一类事物的描述,是 抽象的、概念上的定义 对象:是实际存在的该类事物的每个个体,因而也称为实例 面向对象程序设计的重点是类的设计 设计类,就是设计类的成员 二者关系: 对象是由类 new出来的,派生出来的。 5.面向对象思想落地实现的规则:
补充:几个概念的使用说明
6.对象的创建与对象的内存解析 典型代码: Person P1 = new Person(); Person P2 = new Person(); Person P3 = P1;//没有新创建一个对象,公用一个堆空间中的对象实体。可以去类比一下前面数组说的复制! 说明:如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static的) 意思就是:如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。 内存解析: 7.JVM内存结构: 编译完源程序以后,生成一个或多个字节码文件 我们使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。意味着,需要将字节码文件对应的类加载到内存中,涉及到内存解析。 《JVM规范》后面这本书可以了解下 虚拟机栈,即为平时提到的栈结构。我们将局部变量存储在栈结构中 堆:我们将new出来的结构(比如:数组、对象)加载在对空间中。补充:对象的属性(非static)加载在堆空间中 方法区:类的加载信息、常量池、静态域 类的设计中,两个重要结构之一:属性对比:属性 VS 局部变量 1、相同点:
2、不同点: 2.1.在类中声明的位置的不同 ? ? ? ? 属性:直接定义在类的一对{}内 ? ? ? ? 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.2关于权限修饰符的不同 ? ? ? ? 属性:可以在声明属性时,指明其权限,使用权限修饰符。 ? ? ? ? ? ? ? ? 常用的 权限修饰符:private、public、缺(xing)省、protected? ?---->封装性 ? ? ? ? ? ? ? ? 目前声明属性用缺省就行了,后面会用到其他的。 ? ? ? ? 局部变量:不可以使用权限修饰符。 2.3.默认初始化值的情况: ? ? ? ? 属性:类的属性根据其类型都默认初始化值 ? ? ? ? ????????整型 byte、short、int、long:0 ? ? ? ? ? ? ? ? 浮点型float double:0.0 ? ? ? ? ? ? ? ? 字符型char:0或(‘\u0000’) ? ? ? ? ? ? ? ? 布尔型Boolean:false 引用数据类型(类、数组、接口:null) 局部变量:没有默认初始化值 意味着,我们在调用局部变量之前,一定要显示赋值。特别:形参在调用时,我们赋值即可。 2.4.内存中加载的位置: 属性:加载到堆 空间中(非static) 局部变量:加载到栈空间 变量分类: 方式一:按照数据类型: 方式二:按照在类中声明的位置:
类的设计中两个重要结构之二:方法方法:描述类应该具有的功能 比如:Math类:sqrt() 、random()、等 Scanner类:nextXxx()等 Arrays类:sort()、binarySearch()、toString()、equals等 1.举例: public void eat() {} public void sleep(int hour){} public String getName(){} public String getNation(String nation){} 2.方法的声明:权限修饰符 返回值类型 方法名(形参列表){ ? ? ? ? ? ? ? ? ? ? ? ? 方法体 } 注意:static、final、abstract 来修饰的方法,后面再说。 3.说明: 3.1关于权限修饰符:默认方法的权限修饰符先都使用public ? ? ? ? Java规定的 4种权限修饰符:private、public、缺省、protected ---->封装性后面细说 3.2返回值类型: 返回值 VS 没返回值 ? ? ? ? 3.2.1如果方法返回值,则必须再方法声明时,指定返回值类型,同时,方法中,许哟啊使return关键字未返回指定类型的变量或常量:“return 数据”。 ? ? ? ? 如果方法没返回值,则方法声明时,使用void来表示,通常,没返回值的方法中就使用return。但是如果使用的化,只能“return;”表示结束此方法的意思。 ????????3.2.2我们定义方法该不该返回值这个问题: ????????第一根据题目要求,第二就是凭自己经验判断,具体问题具体分析 3.3方法名:属于标识符,遵循标识符的规则和规范,“见名知意” 3.4形参列表:方法可以声明0个,1个,或者多个形参。 ? ? ? ? 3.4.1格式:数据类型1 形参1,数据类型2 形参2,... ? ? ? ? 3.4.2我们定义方法时,该不该定义形参这个问题:? ????????第一根据题目要求,第二就是凭自己经验判断,具体问题具体分析 3.5方法体:方法功能体现 4.方法的使用中,可以调用当前类的属性或方法 特殊的:方法A中又调用了方法A:递归方法 方法中,不可以定义方法 return关键字: 1.使用范围:使用在方法体中 2.作用:
3.注意点:return关键字后面不可以声明执行语句
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/18 18:00:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |