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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HARRY_yFd0S 中级黑马   /  2016-9-10 13:15  /  269 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.构造方法:
        1.方法名与当前的类名相同.
        2.没有返回值类型(不能有返回值类型)
        3.不能使用return 返回具体的值,但是可以有return语句,作用是结束方法.

2.构造方法重载: 与普通方法重载是一样的

3.注意事项:
        1.如果没有手动给出构造方法,系统会默认提供一个无参的构造方法
        2.如果已经手动给出了构造方法,系统不再提供无参构造,如果自已需要使用无参构造,就要自己手动给出无参构造.
        3.构造方法 = 构造函数 = 构造器


4.构造方法的作用:
        给成员变量进行初始化.

5.构造方法和set方法给成员变量赋值的区别:        
        构造方法只能在创建对象的时候给成员变量赋值,而且只能赋值一次
        set方法可以在创建对象之后给成员变量赋值,可以调用多次,比较灵活.

6.创建对象的步骤:(了解)
        1.将字节码文件(Student.class)加载进内存(方法区)
        2.在栈内存中声明一个引用(Student s)
        3.在堆内存中开辟一块内存空间
        4.成员变量进行默认初始化
        5.成员变量进行显示初始化(如果有)
        6.构造方法执行,给成员变量赋值(如果有),构造方法结束
        7.对象创建完成,把地址值赋值给栈内存中的引用.


7.什么时候定义成员变量,什么时候定义局部变量:
        如果一个变量是属于该类的一个属性,那就定义成成员变量
        如果一个变量不是属于该类的属性,但是方法运行又需要传递参数,定义成局部变量.


8.静态:        
        1.可以修饰成员变量以及成员方法.

        2.静态修饰的成员特点:
                被所有的对象共享.存在方法区中.

        3.静态的特点:        
                1.随着类的加载而加载
                2.优先于对象而存在.
                3.被所有的对象所共享
                4.可以使用对象调用,也可以用类名直接调用(推荐使用类名调用).

        4.注意事项:
                1.静态方法中是不能有this关键字,静态是优先于对象而存在的,而this代表的是一个对象
                2.非静态可以访问所有内容.静态方法只能访问静态内容.

        5.静态变量与成员变量的区别:        
                1.名字不同:
                        静态变量 = 类变量
                        成员变量 = 实例变量 = 对象变量

                2.所属不同:
                        静态变量是属于类
                        成员变量是属于对象

                3.生命周期不同:
                        静态变量是随着类的加载而存在,随着类的消失而消失
                        成员变量随着对象的创建而存在,随着对象的消失而消失

                4.内存位置不同:
                        静态变量是在方法区中的
                        成员变量是在堆内存中的

                5.调用的不同:
                        静态变量可以被类名直接调用,也可以被对象调用
                        成员变量只能被对象调用.

        6.工具类:(了解)
                        对外提供功能的类,可以把这个类中的所有方法都定义成静态的,把构造方法私有(不让其他的类创建对象),
                        直接用类名调用方法即可.

9.Math类:
        random(): 随机获取一个小数: 0.0-1.0之间(不包含1)
        求1-100之间的随机数:
                (int)(Math.random()*100)+1

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马