zoukankan      html  css  js  c++  java
  • Java连载33-对象的创建和使用、内存分析

    一、创建一个学生类

    每个学生都有学号信息,但是每一个学生的学号都是不同的,所以要访问这个学号必须先创建对象,通过对象去访问学号信息,学号信息不能直接通过“类”去访问,所以这种成员变量又被称为“实例变量”

    注意:

    (1)对象又被称为实例,实例变量又被称为对象变量(对象级别的变量)

    (2)不创建对象,这个Number的内存空间是不存在的,只有创建了对象,这个number变量内存才会被创建

    (3)通过一个类可以实例化多个对象

    (4)实例化对象的语法

    new 类名();

    (5)new是java语言中的一个运算符

    (6)new运算符的作用:创建对象,在JVM堆内存中开辟新的二内存空间

    (7)方法区内存:在类加载的时候,class字节码代码片段被加载在该内存空间之中

    (8)栈内存(局部变量):方法代码片段被执行的时候,会给该方法分配内存空间,在栈内存中,进行压栈

    (9)堆内存:new的对象在堆内存中被存储;

    (10)D32_student是一个引用数据类型,s是一个变量名,new D32_student()是一个学生对象,s是一个局部变量(在栈内存中存储)

    (11)什么是对象?new运算符在堆内存中开辟的内存空间称为对象

    (12)什么是引用?引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址

    (13)java语言中,不能直接操作堆内存,java中没有指针,不想C语言

    (14)java语言中,只能通过“引用”去访问堆内存中的对象内部的实例变量

    (15)访问实例变量的语法格式:

    读取数据:引用.变量名
    
    修改数据:引用.变量名 =

    举例:

    public class D33_student2_test {
    
      public static void main(String[] args) {
    
        D32_student s = new D32_student();
    
        System.out.println("jfahsf ");
    
        s.no = 154;
    
        s.address = "jafalj ";
    
        System.out.println(s.no);
    
        D32_student s2 = new D32_student();
    
        System.out.println(s2.no);
    
        //以下程序报错,因为no这个实例变量不能直接采用“类名”的方式访问
    
        //因为no是实例变量,对象级别的变量,变量存储在java对象的内部,必须先有对象,因为对象才能访问no这个实例变量
    
        //不能直接通过“类名”来访问
    
        //System.out.println(D32_student().no);
    
      }
    
    }
    
    class D32_student {
    
      //public static main(Sting[] args) {
    
      int no;//学号 
    
      String name;//姓名
    
      int age;//年龄
    
      boolean sex;//性别
    
      String address;//地址
    
      //方法是描述对象的动作信息,当前例子就不描述方法了,只描述信息属性
    
      //} 
    
    ​
    
    }

    二、源码:

    D33_student2_test.java

    地址:

    https://github.com/ruigege66/Java/blob/master/D33_student2_test.java

    2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    C/C++ 子集生成算法整理
    C++ 求枚举排列的两种方法
    uva1600 Patrol Robot(不同的BFS最短路)
    C++ 已知二叉树两种遍历序列,构建二叉树
    优先队列 C++
    离散化方法
    基本模运算
    C++ 快速幂运算
    病毒通过445端口
    最新勒索软件WannaCrypt病毒感染前后应对措施
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11570169.html
Copyright © 2011-2022 走看看