zoukankan      html  css  js  c++  java
  • java 内存举例

    1. java内存的主要划分

    2.  OOTest02.java 的内存划分

    public class OOTest02{
        public static void main(String[] args){
            Student zhangsan=new Student();
            zhangsan.id=1001;
            zhangsan.name="张三";
            zhangsan.sex=true;
            zhangsan.address="北京";
            zhangsan.age=21;
            System.out.println("id="+zhangsan.id);
            System.out.println("name"+zhangsan.name);
            System.out.println("sex="+zhangsan.sex);
            System.out.println("address="+zhangsan.address);
            System.out.println("age="+zhangsan.age);
        }
    }
    
    class Student{
        int id;
        String name;
        boolean sex;
        String address;
        int age;
    }
    View Code

    第一步:执行main方法,将main方法压入栈,然后new Studentd对象

    Student zhangsan=new Student();

    第二部: 对student赋值

            zhangsan.id=1001;
            zhangsan.name="张三";
            zhangsan.sex=true;
            zhangsan.address="北京";
            zhangsan.age=21;

    3. 不使用new关键字的问题

    public class OOTest02{
        public static void main(String[] args){
            
                   \ Student zhangsan=new Student();
                    Student zhangsan=null;
    
            zhangsan.id=1001;
            zhangsan.name="张三";
            zhangsan.sex=true;
            zhangsan.address="北京";
            zhangsan.age=21;
            System.out.println("id="+zhangsan.id);
            System.out.println("name"+zhangsan.name);
            System.out.println("sex="+zhangsan.sex);
            System.out.println("address="+zhangsan.address);
            System.out.println("age="+zhangsan.age);
        }
    }
    
    class Student{
        int id;
        String name;
        boolean sex;
        String address;
        int age;
    }        
    View Code

    抛空指针异常,因为zhangsan没有指向任何对象,所以其地址为null,我们就使用student的属性,这样就导致了空指针异常。

    Exception in thread "main" java.lang.NullPointerException

    4. 参数传递

    值传递

    public class OOTest03{
        public static void main(String[] args){
            int i=10;
            method1(i);
            System.out.println(i);
        }
        public static void method1(int temp){
            temp=1;
        }
    }
    View Code

     

    应用传递

    /*
        面向对象的封装性。
    */
    public class OOTest04{
        public static void main(String[] args){
            Student zhangsan=new Student();
            zhangsan.id=1001;
            zhangsan.name="张三";
            zhangsan.sex=true;
            zhangsan.address="北京";
            zhangsan.age=21;
            
            method1(student);
            
            System.out.println("id="+zhangsan.id);
            System.out.println("name"+zhangsan.name);
            System.out.println("sex="+zhangsan.sex);
            System.out.println("address="+zhangsan.address);
            System.out.println("age="+zhangsan.age);
            
            public static void method1(Student temp){
                temp.name="李四";
            }
        }
    }
    
    class Student{
        int id;
        String name;
        boolean sex;
        String address;
        int age
    }
    View Code

  • 相关阅读:
    23种设计模式
    云计算管理三利器:Nagios、Ganglia和Splunk
    Hadoop 管理监控工具:Apache Ambari
    淘宝数据产品技术架构
    淘宝数据分析工具汇总
    Linux(CENTOS7) RabbitMq安装
    Linux(CENTOS7) Tomcat服务成功发布但局域网浏览器无法访问
    Linux(CENTOS7) Nginx安装
    Linux(CENTOS7) Jdk完整步骤安装
    Oracle存储过程案例集合
  • 原文地址:https://www.cnblogs.com/zxqstrong/p/5330926.html
Copyright © 2011-2022 走看看