学习Java第六周

1.内存结构

Java程序在运行时,需要在内存中的分配空间为提高运算效率,空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

栈内存

·用于存储局部变量,当数据使用完,所占空间会自动释放,

堆内存

·数组和对象,通过Bw建立的实例都存放在堆内存中,

·每一个实体都有内存地址

·实体中的变量都有默认初始化值

·实体不在被使用,会在不确定的时间内被垃圾回收器回收

浙法区心本执者法区。害在料

2.成员变量和局部变量

作用范图

成员变量作用于整个类中。

周部变量变量作用于函数中,或者语句中。

在内存中的位置:

成员变量:在堆内存中,因为对象的存在,才在内存中存在,

局部变量:存在栈内存中。

3.匿名对象

匿名对象是对象的简化形式

匿名对象两种使用情况

·当对对象方法仅进行一次调用的时

·匿名对象可以作为实际参数进行传递

4.静态:static

用法:是一个修饰符,用于修饰成员(成员变量,成员函数)

当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用

Static特点:

1,随着类的加载而加载,

也就说:静态会随着类的消失而消失,说明它的生命周期最长

2,优先于对象存在

3,被所有对象所共享

4,可以直接被类名所调用

实例变量和类变量的区别:

1,存放位置

类变量随着类的加载而存在于方法区中,

实例变量随着对象的建立而存在于堆内存中

2,生命周期

类变量生命周期最长,随着类的消失而消失

实例变量生命周期随着对象的消失而消失

6.静态使用注意事项

1,静态方法只能访问静态成员

非静态方法既可以访问静态也可以访问非静态

2,静态方法中不可以定义this,super关键字

因为静态优先于对象存在,所以静态方法中不可以出现this

静态有利有弊

利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份

可以直接被类名调用。

弊端:生命周期过长

访问出现局限性。(静态虽好,只能访问静态

原文地址:https://www.cnblogs.com/ywqtro/p/11333896.html

时间: 2024-10-16 04:57:38

学习Java第六周的相关文章

201671010140. 2016-2017-2 《Java程序设计》java学习第十六周

java学习第十六周         本周对十三章:"部署java应用程序"进行了课堂学习,在老师思路牵引下,对这一章知识进行学习,对实例程序运行和注释,对比课前对书本上知识的浅显预习,半知半解,课堂学习后,对这部分知识的理解也更加深入,尤其是在JAR文件这部分,感觉掌握的不错,对Java程序为何要打包成JAR文件,如何去做都有了进一步学习,认知,之前并不理解如何使用jar程序制作JAR文件,在课堂上同学的演示下,也理解了这部分知识.在对JAR文件中的包的密封,属性映射等方面的知识掌握

java第六周学习总结

学号20145336 <Java程序设计>第五周学习总结 教材学习内容总结 第十章 输入与输出 InputStream与OutputStream java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象.从程序角度来看,如果将数据从来源中取出,可以使用输入串流,如果将数据写入目的地可以使用输出串流.在java中,输入串流对象为java.io.InputStream实例,输出串流对象为java.io.OutputStream实例.流(Stream)是对「输入输出」的抽象,注意「

学习Java第三周

这是学习java的第三周 上周想要学习的这周也完成了,研究和测试代码花费了大约2个小时,发现这些内容方法居多,想要熟练掌握就要好好记忆了 包装类 数字处理类 Object类 Java类包 内部类 下一周准备复习一下这两周学的,加深印象,所以学习内容待定. 包装类 数字处理类 内部类 成员内部类 局部内部类 静态内部类 原文地址:https://www.cnblogs.com/ywqtro/p/11220757.html

Linux学习笔记第六周第四次课(3月15日)

六周第四次课(3月15日) 复习 扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 按关键词打印内容,#sed -n '/\[abcd\]/,/\[rty\]/'p test 按行数打印内容,# sed -n '4,8'p test sed转换大小写 http://ask.apelearn.com/question/7758 sed中,使用\u表示大写,\l表示小写 1. 把每个单词的第一个小写字母变大写: sed 's/\b[a-z]/\u

20165220 Java第六周学习总结

教材学习内容总结 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符. 链表:由若干个称作结点的对象组成的一种数据结构,用于动态的减少或增加数据项. String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法.在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法. String对象:可以使用String类声明对象并创建对象,例如:St

java第六周作业

1  JSF请求处理生命周期的高度概述 从历史上看,Web应用程序必需的大部分开发,主要是处理Web客户端的HTTP请求.随着Web从传统的静态文档传送模型(在这种模型中,只请求静态Web页面,没有参数)转变到动态环境(要求Web应用程序处理大量进入参数),对日益复杂的请求的处理需求,不可避免地增长起来.这使Web应用程序开发变得相当烦琐.例如,请看下面在Java servlet或JSP小程序中处理进入请求参数firstname和lastname的代码: String firstname = r

学习java第六、七天总结

Day06-day07个人总结 1.一维数组 1.数组的定义: 由数据组成的集合,或数组就是用来表示一组数据的就叫数组. 定义数组: int[] ints; double[] doubles String[] names 每个数组存的数据类型必须一致,访问数组里面的每个数据需要通过数组的索引访问,也就是我们说到的数组下标,数组下标的范围为:0至(n-1),并且数组一旦创建,长度不可改变,数组属于引用类型的数据 2.数组的声明: 数据类型 变量名 = 变量值 数据类型[]  数组变量名;(推荐)

Rickie的软件测试学习笔记-第六周

本周实验主要内容是白盒测试,下面是对白盒测试的一些总结 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致. 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法

2019秋JAVA第六周课程总结及实验报告(四)

题目: 源代码: package com.company; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double r = sc.nextDouble(); double h = sc.nextDouble(); Cylinder a = new Cylinder(r, h); a.diapV