【类】
 

 
【成员变量】
 
注:
<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. 简述Vue的实例属性、实例方法

    1.实例属性 组件树访问 $parent -----> 用来访问当前组件实例的父实例: $root -----> 用来访问当前组件树的根实例,如果当前组件没有父实例,则$root表示当前组 ...

  2. Python_ONLINE_习题集_1 递归

    1.1 使用递归实现:计算某个数的阶乘 def func(x): if x == 2: return 2 else: return x*func(x-1) a = func(4) print(a) 2 ...

  3. 关于SQL连接语句中的Integrated Security=SSPI/ture/false

    解决方法:即:Security Support Provider Interface设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的, ...

  4. 选择排序--python

    def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if arr[i] & ...

  5. 19: vue项目使用整理

    1.1  axios 基本用法 安装:npm install axios -S                   # 也可直接下载axios.min.js文件 1.axios借助Qs对提交数据进行序 ...

  6. python列表,字典,集合

    初识模块 import sys print(sys.path)#查看化境变量 print(sys.argv)#查看文件的相对路径,但是在pachrm中 会自动转为绝对路径 import os #os. ...

  7. 搜索专题: HDU1428漫步校园

    漫步校园 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  8. JVM — 性能调优

    概念: 一:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.” ...

  9. oracle数据的导入导出(两种方法三种方式)

    大概了解数据库中数据的导入导出.在oracle中,导入导出数据的方法有两种,一种是使用cmd命令行的形式导入导出数据,另一种是使用PL/SQL工具导入导出数据. 1,使用cmd命令行导入导出数据 1. ...

  10. git(github)配置密钥/私钥/SSH公钥)

    1.桌面右键 Git Bash Here 打开git命令行 2.ssh-keygen -t rsa -C "xxxxx@qq.com"(你的注册邮箱)enter 3.cd ~/.s ...