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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

构造方法:
        给成员变量进行初始化
        初始化:分配内存空间,并且赋值

        定义格式:
                public 类名() {
                        asdfasdf
                        return;
                }

                1、类名和方法名相同
                2、返回值类型,没有,连void也没有
                3、默认有return语句


        构造方法的重载:
                和普通方法的重载一样:
                        在同一个类中,方法名相同,参数列表不同,与返回值类型无关

                注意事项:
                        1、如果你没有显式的定义任何的构造方法,系统默认给你提供一个空参的构造方法;
                        2、如果你定义了任意一个构造方法,无论是有参还是无参,系统将不再提供任何的构造方法;
                                建议永远手动定义无参的构造方法。

        构造方法和set方法的区别:
                1、构造方法是在创建对象的时候给成员变量赋值;
                2、set方法可以在对象的整个生命周期,进行赋值;


        创建对象的过程:
                1、加载你的自定义类;
                2、在栈内存中声明一个自定义类的引用;
                3、在堆内存中开辟空间,创建对象
                4、默认初始化
                5、显示初始化
                6、构造方法进栈执行
                7、对象的地址赋值给栈中的引用


        static关键字
                如何定义静态的成员变量
                        修饰符 数据类型 变量名
                        private static int age;

                静态和非静态有什么区别:
                        1、内存上,静态变量是在方法区的静态区
                                        非静态变量是在堆内存中
                        2、非静态变量,每个对象都有自己特有的值
                                静态变量,被所有对象所共享
               
        特点:
                1、随着类的加载而加载
                2、优先于对象而存在
                3、被所有该类对象所共享
                Person p1 = new Person()
                Person p2 = new Person()
                p1.country = "riben";       
                p2.country = "zhongguo";
                Person.country = "taiguo";//taiguo 覆盖了前面的两个值
                4、可以通过类名来调用

                private static int age;
                private String name;
                public static void print(){
                        test();       
                        name = "zhangsan";
                }

                public void test() {
                        age  =10;
               
                }


        static关键字注意事项:
                1、静态方法中不能有this关键字
                2、静态方法只能访问静态,
                        非静态方法既可以访问静态,也可以访问非静态

        静态变量和非静态变量的区别:
                1、所属不同
                        静态变量属于类
                        非静态变量属于对象
                2、内存中的位置不同
                        静态变量在方法区的静态区
                        非静态变量在堆内存中
                3、内存中出现的时间不同
                        静态变量随着类的加载而加载,随着类的消失而消失
                        非静态变量,随着对象的创建而存在,随着对象的消失而消失
                4、调用不同
                        静态变量可以通过类名调用,也可以通过对象名调用,推荐用类名调用
                        非静态变量只能通过对象名调用


        工具类的制作:
                1、如果你某一个方法不需要访问非静态的成员变量,那你就定义成静态的方法;
                2、如果所有的方法都是静态的,私有化其构造方法。

        说明书的制作:
                1、文档注释的写法:
                        /**
                        @author Mr.Lee
                        @version 1.0
                        @param
                        @return
                        */

                2、文档说明书制作:
                        javadoc -d 目录名 -author -version abc.java

        api的使用:
                点显示,点索引,在搜索框中输入你要找的类

        获取1-100之间的随机数:
                1、通过Math.random()
                2、乘法,强转,加法


2 个回复

倒序浏览
加油!!!
回复 使用道具 举报
记得多看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马