【类】
 

 
【成员变量】
 
注:
<1>成员变量默认初始化,直接输出不会报错;而局部变量默认情况下不会初始化,直接输出会报错;
 
 
【引用】
 
 
注:
引用类型占两块内存,比如String s;该程序是在内存中分配一段区域,装的是空值(还没进行初始化)。s = new String("Hello");这在堆内存开辟一段空间存储。
 
<1>Java中没有指针,但是所有的引用都是指针;
<2>堆是动态分配内存的,因此对象放在堆中,类放在代码区;
 
 
【对象的创建和使用】
 
 
 
【类和对象的关系】
 
 
 
【构造方法(构造函数)】
<1>在new一个对象的时候调用构造方法,即使用new+构造函数创建一个新的对象;
<2>构造函数是定义在Java类中的一个用来初始化对象的函数;
<3>构造函数与类同名且没有返回值(也不能写void)。
 
默认情况下:
 
【栈与堆】
 
注:
<1>在栈内存中存在调用方法所用到的参数,只不过是暂时性的,引用到堆中才是永久性的数据;
<2>一个方法调用完之后对应的局部变量被清除,最终我们得以把数据存储到堆中(实际上是借助于栈进行存储的)。
<3>堆中如果没有一个引用指向相应的区域,则会被垃圾回收器回收。
 
【构造方法常见错误】
<1> void Person();
        //这是普通方法,不是构造方法(不能加void),否则会显示无法找到构造方法
 
【命名规则】
<1>类名的首字母是大写的;
<2>变量名和方法名的首字母小写;
<3>运用驼峰标识。
 
【内存解析】
 
(1)变量的初始化
 
 
(2)方法调用(值传递)
 
 
 
 
注:试图通过值传递改变堆内存中变量的值,是无法实现的。
 
(3)new对象
 
 
 
 
注:这个新new出来的对象在程序运行后,会由垃圾回收机制进行回收,这对于程序而言相当于不存在了,也就是说不能通过这种方式修改堆中属性的值。
 
 
(4)调用成员方法
 
 
 
 
 
【方法重载】
 
 
 
 
 
 
 
 

Java——类的更多相关文章

  1. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  2. jvm系列(一):java类的加载机制

    java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...

  3. java类与实例

    最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类.接口.泛型的用处和优缺点.设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧. 一.java对 ...

  4. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  5. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  6. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  7. kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

    该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...

  8. Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)

    今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...

  9. Java类初始化

    Java类初始化 成员变量的初始化和构造器 如果类的成员变量在定义时没有进行显示的初始化赋值,Java会给每个成员变量一个默认值 对于  char.short.byte.int.long.float. ...

  10. 深入研究Java类装载机制

    目录 1.为什么要研究java类装在机制? 2.了解类装载机制,对于我们在项目开发中有什么作用? 3.装载实现细节. 4.总结 一.为什么药研究Java类装载机制 java类加载机制,便于我们使用自定 ...

随机推荐

  1. 【HANA系列】SAP HANA STUDIO客户端升级更新

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA STUDIO客 ...

  2. C#的Split()方法

    var arr = list[i]["Tag"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

  3. Docker Toolbox虚拟机文件地址修改 以及镜像加速

    Docker Toolbox虚拟机文件地址修改  默认情况下,docker-machine创建的虚拟机文件,是保存在C盘的C:\Users\用户名\.docker\machine\machines\d ...

  4. vue项目中,无需打包而动态更改背景图以及标题

    1.背景 今天,项目经理对已完成的项目提出了一个需求,即项目的基础功能目前针对于各个基层法院都适用,而对于不同的法院,我们每次都需要前端研发来更改所属法院的法院名称以及背景图,这样对于演示者来说是非常 ...

  5. C语言Ⅰ博客作业01

    1.你对计算机科学与技术专业了解是怎样? 本专业培养具有良好的科学素养,系统地.较好地掌握计算机科学与技术包括计算机硬件.软件与应用的基本理论.基本知识和基本技能与方法,能在科研部门.教育单位.企业. ...

  6. 移动端HTML5开发问题汇总-样式篇

    问题:Android 上圆形图片使用 border 时,边框显示变形 解决:给 img 外嵌套一个元素,为其使用圆角 <div> <img src=""> ...

  7. Linux yum 命令篇

    yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动下载RPM包 ...

  8. Tensorflow模型保存与加载

    在使用Tensorflow时,我们经常要将以训练好的模型保存到本地或者使用别人已训练好的模型,因此,作此笔记记录下来. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提 ...

  9. 《剑指offer》面试题23 从上往下打印二叉树 Java版

    注意层序遍历的时候对每一层的处理方式可能不同,这里把每一层的元素保存进一个List中了,那么就需要记录每一层的数量. public List<List<Integer>> se ...

  10. BZOJ 4033: [HAOI2015]树上染色题解

    BZOJ 4033: [HAOI2015]树上染色题解(树形dp) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327400 原题地址: BZOJ 403 ...