zoukankan      html  css  js  c++  java
  • java 类中的细节

    java 中类:

    类是用于描述统一类型的对象的一个抽象的概念,类中定义了这一类对象所因具有的静态和动态属性。

    举例: 瓶子
    静态: 有一个口、长长的形状-->java类中的成员变量
    动态属性: 可以倒水 -->java类中的方法(函数)

     1 package com.Demo;
     2 import java.lang.*;
     3 
     4 public class Demo {
     5     //成员变量
     6    private int id;
     7    private String name;
     8    
     9     //有参构造方法
    10    Demo(int _id,String _name){
    11        id=_id;
    12        name=_name;
    13    }
    14  
    15     public int getId() {
    16         return id;
    17 }
    18    /*
    19     * 为了考虑安全性,不能修改身份号
    20     * public void setId(int id) {
    21     * this.id = id;
    22 }*/
    23 
    24     public String getName() {
    25         return name;
    26 }
    27 
    28     public void setName(String name) {
    29         this.name = name;
    30 }
    31    /*
    32      * 输出信息
    33     */
    34     public void printInfo() {
    35         System.out.println("学生身份号:"+id);
    36         System.out.println("学生姓名:"+name);
    37     }
    38 
    39    //主函数
    40     public static void main(String[] args) {
    41         Demo tom=new Demo(20,"张三");
    42         Demo john=new Demo(21,"李四");
    43         tom.printInfo();
    44     }
    45    
    46 }
    47     

    代码的详细理解:

    Demo tom=new Demo(20,"张三");

    Demo john=new Demo(21,"李四");

    Demo tom 是局部变量,同时也是引用类型。类的对象tom存放在stack(栈)中

    new Demo(20,"张三")是new出来的东西,存放在heap(堆)中,与此同时new Demo(20,"张三") 会调用有参构造函数 Demo(int _id,String _name)。

    _id,_name也是也是局部变量,但是id,name是"全局变量"!

    _id,_name,tom都是局部变量存放在stack中!

    然而 id,name,new class()存放在heap中!

    此时整句Demo tom=new Demo(20,"张三")执行结束;

    分析内存的变化:

    调用完 Demo tom=new Demo(20,"张三"); 这句语句时,stack中的局部变量(_id,_name)全都消失,但是保留类的对象 tom!

    构造方法问题:

    (1).如果不写构造方法,系统会自动生成默认的构造方法(无参数). 如果有写有参数构造方法,系统不会生成默认的构造方法(无参数).

  • 相关阅读:
    总结:工作 + 学习 (2019年)
    JVM 理解性学习(一)
    渗透神器cobalt strike在数字杀软环境下的使用
    普通路由器刷开源固件DD-WRT的简单过程
    云烟渗透题总结
    对thinkphp5.0框架的实例学习
    内网渗透 关于GPO
    简单尝试利用维控LeviStudioU的一栈缓冲区溢出漏洞
    试写foxit reader的ConvertToPDF功能的wrapper
    第05章下 加载内核
  • 原文地址:https://www.cnblogs.com/jllj/p/6403642.html
Copyright © 2011-2022 走看看