博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象调用成员的过程
阅读量:5945 次
发布时间:2019-06-19

本文共 917 字,大约阅读时间需要 3 分钟。

Person p1=new Person("张三",20);

该句话都做了什么事情?
1.因为new用到了person.class 所以会先找到Person.class文件并加载到内存中。
2.执行该类中的static代码块,如果有的话,给Person.class类进行初始化。
3.在堆内存中开辟空间,分配内存地址。
4.在堆内存中建立对象的特有属性。并进行默认初始化
5.对属性进行显示初始化
6.对对象进行构造代码块初始化
7.对对象进行构造函数初始化

 

class Person{    private String name;    private int age;    private static String country="cn";    Person(String name,int age){        this.name=name;        this.age=age;    }    {        System.out.println(name+"..."+age);    }    public void setName(String name){        this.name=name;    }    public void speak(){        System.out.println(this.name+"..."+this.age);    }    public static void showCountry(){        System.out.println("country=" + country);    }}class PersonDemo{    public static void main(String[] args){        Person p1=new Person("张三",20);        p1.speak();        p1.setName("李四");        p1.speak();    }}

  

转载于:https://www.cnblogs.com/s158/p/5080436.html

你可能感兴趣的文章
正则表达式—匹配连续重复的字符
查看>>
一上午整理的测量坐标转换原理与程序
查看>>
JS中的算法与数据结构——排序(Sort)
查看>>
java-IO操作性能对比
查看>>
利用Form组件和ajax实现的注册
查看>>
如何在一个月内改善你的生活
查看>>
beyond compare比较工具设置
查看>>
jmeter的jmx脚本结构解析
查看>>
jsonp: js跨域
查看>>
(转)C#中的Predicate<T>与Func<T, bool>
查看>>
5.移植uboot-设置默认环境变量,裁剪,并分区
查看>>
怎样去主动拿一个锁并占有?synchronized关键字即可
查看>>
【重拾Effective Java】一
查看>>
Java中的事务
查看>>
Netty 编解码技术 数据通信和心跳监控案例
查看>>
Linux时间子系统(四) timekeeping
查看>>
快速书写常见的 Kotlin 代码 MD
查看>>
数学老师这样可以快速画出绝对值函数
查看>>
JAVA_SE基础——56.包的创建
查看>>
基于浏览器父子窗口值传递
查看>>