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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 lanzy1989 于 2014-9-18 21:16 编辑

对象是类的实例,类是对象的统称,一个类有一个或者多个对象
类 对象=new 类();给类创建一个对象
对象.类属性=赋值;对对象的属性进行修改
对象.类方法();使用类对象的功能
封装

private只能在本类中访问,可以再该类中设置修改变量的方法和取出方法,既get/set方法,需要对外开放的get/set方法(public)
注意:所有的赋值方法写成set属性名,所有的取值方法写成get属性名(人为规定的,普遍公认的,提高代码阅读性)

public:公共访问权限
private:私有的访问权限
(访问权限的修饰符,*通常*在最前面)

被private修饰的成员函数(成员方法)也不能被外界访问,必须在本类中访问(不会报错。但是该方法失去意义了)


匿名对象:没有名字;

注意事项:单独调用时。只能使用一次,再创造新对象时,与前面的对象无关
        当作为参数传递时,可以使用匿名对象(参照数组)(是指不需要使用它,只需要使用它作为传递作用,如下:

        fockLond(new classes());
    public static void fockLond(classes c){
        System.out.println(c.fockLond);        
}
在该例中,new classes()匿名对象只是传递了参数fockLond到对象c中,它并没有直接指向fockLond对应的属性,它与c指向同一个参数,起传递的作用)
(匿名对象主要可以用来测试调用的类中的一些初始化问题,看创建对象后的数据初始化的输出结果是什么)
                                                                           

构造函数(构造器):在创建一个类的实例时,调用的方法即构造方法。构造方法是用来构造实例对象的。
        特点:如果我们没有手动给出构造方法,则java给我们提供一个无参的构造方法,(例如Person p=new Person();后面的Person()就是java提供的创建对象的方法)
                当手动给出构造函数,java就不再给我们提供构造函数了
一般函数:public 返回值类型 函数名(参数类型 参数名1,参数类型 参数名2.。。){逻辑代码}
构造函数:有参构造方法:public 函数名(与类名相同,不分大小驼峰式,与类名一致)(){逻辑代码}
        无参构造方法:public 函数名(与类名相同,不分大小驼峰式,与类名一致)(参数类型 参数名1,参数类型 参数名2.。。){逻辑代码}
  可以用重载同时设置有参无参构造函数;
  有参构造方法在创建实例对象时,直接为成员变量赋值;

为属性赋值:
                1、使用对应的gs(getters与setters)
                2、直接在
this关键字:this代表当前对象的引用

this。属性名访问的是成员变量
属性名:就近原则,先访问局部变量,在

this的另外用法
                直接使用“类名()”无法调用构造函数
                在构造函数中可以通过this(参数)来调用其他重载的构造函数
                this调用的构造函数必须放在第一行

static关键字:
                静态关键字
                当使用static关键字修饰之后,这个属性就会被所有实例对象共享
                使用static关键字修饰后,一次修改,就会影响所有实例;
                使用static关键字修饰后,可以使用类名直接访问该属性/方法,不需要使用实例对象,但是可以使用实例对象访问或者调用
                使用static关键字修饰后,该属性因为被共享,所以一般不再使用private关键字修饰,同样也不再有gs;
                一般情况下,使用static关键字修饰后的属性均为常量,与final共同使用
               
                成员变量和成员方法都可以使用static修饰;

        代码块:用{}划定范围的代码区域:
                 变量作用域控制,影响变量的生命周期
局部代码块,定义在方法中;
构造代码块,定义在类中。当我运行一个新的实例就会运行一遍。
对象实例化顺序:
                1、构造方法(不执行语句,只是表明我要创建实例对象)
                2、属性默认初始化
                3、静态显示初始化>静态代码块
                        根据定义的先后顺序决定,一般静态构造代码块写在属性后边。所以一般认为静态显示初始化在静态构造代码块之前。
                4、显示初始化>构造代码块:
                        根据定义的先后顺序决定,一般构造代码块写在属性后边。所以一般认为显示初始化在构造代码块之前。
                5、构造方法(构造方法的内容)

总体顺序前提:先静态(优于对象存在的),后非静态

注意:        构造方法在每次创建爱你对象时都执行
        构造代码块在每次创建时都执行
        静态构造代码块只在第一次创建对象时执行

    通常使用代码块来初始化一些属性。做一些系统的准备工作。
        抛弃静态不考虑:
                1、默认初始化
                2、显示初始化
                3、构造代码块
                4、构造方法

0 个回复

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