A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jackwang 中级黑马   /  2015-3-21 10:22  /  1146 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


/*
       
        类是对一系列功能和相关数据的封装,而若要使用这些数据和类中的功能(类提供的功能)或者若要使用类中的成员,有两种方式,一种是通过
        创建类的对象,通过对象访问类中的功能和数据。另一种是通过类名直接访问类中的静态方法和静态数据。只有这两种方式。
        任何对类的成员的使用,都必须通过引用,无论是在内部还是在外部,只不过在内部时省略了this(非静态成员中的
        )或者类名。
        类对象的创建过程:
        public static void main(String[] args)
        {
                Student s =new Student();
        }
        JVM(java虚拟机)在执行这一句时,做了如下几件事情。
        1、先在栈内存中分配main方法的空间
        2、局部变量s在栈内存的main方法的空间里创建,并即将进行初始化
        3、new关键字使得JVM中的类加载器开始加载new后面的类Student,首先找到Student.class文件,然后将类Student加载到
                内存里面。
        4、类的所有静态成员变量开始在类的方法区中的静态成员区创建,所有类的静态成员方法连同方法体加载到静态成员区,
                非静态的成员(方法、变量)代码也加载入类的方法区中的非静态成员区,所有静态代码块都被执行,用来完成对类
                的初始化,按照自上而下的顺序创建、加载、执行。
        5、加载完类后,开始类对象的创建,首先在堆内存中分配所需的内存空间,并获得首地址,然后读取方法区中的该类的非
                静态成员部分,将所有非静态成员变量在堆内存中的该对象的空间内创建,并进行默认初始化,然后进行显示初始化
                (若存在),然后执行构造代码块(若存在)对类对象进行统一初始化,按照自上而下的顺序创建、执行,
                最后根据“new Student()”后面的括号,选择对应的构造函数进行对象的具体初始化(若找不到对应的构造函数,
                则出错,对象创建过程失败)。
        6、至此,堆内存中的对象创建并出示化完毕。将堆内存中的该对象的首地址返回给栈内存中的局部变量s


*/
a
class Student
{
        private String name ="zhangsan";
        private int age = 12;
        private static String country = "china";
        public void setName(String name)
        {
                this.name = name;
        }
        public String getName()
        {
                return name;
        }
        public void setAge(String age)
        {
                this.age = age;
        }
        public int getAge()
        {
                return age;
        }
        public static void show()
        {
                System.out.println("name ="+name+"--age ="+age);
        }
        public static void showCountry()
        {
                System.out.println("country ="+country);
        }
}


class  StudentDemo
{
        public static void main(String[] args)
        {
                new Student();
        }
}


2 个回复

倒序浏览
沙发~!!  我也在看  一起加油...
回复 使用道具 举报
:)一起学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马