黑马程序员——构造函数
2015-10-21 16:14
260 查看
——- android培训、java培训、期待与您交流! ———-
——- android培训、java培训、期待与您交流! ———-
/* 构造函数 特点: 1.函数名与类名相同(固定的) 2.不用定义返回值类型 (与void不同,void是一种返回值类型代表着"没有具体结果"返回的情况。) (构造函数是根本不需要定义返回值类型) 3.不可以写return语句(没有返回类型) 作用: 给对象初始化 1:对象一建立就会调用与之对应的构造函数 2:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数 3:当在类中自定义了构造函数后,默认的构造函数就没有了。 注意: 1:默认构造函数特点。 2:多个构造函数是以重载的形式存在的。(重载:函数名相同,参数列表不一样) 构造函数和一般函数在写法上有不同 运行上不同 构造函数 对象已建立就运行,就初始化对象 一般方法 对象调用才执行,是给对象添加对象所具备的功能 一个对象建立,构造函数只运行一次 一般方法可以被对象调用多次(方法必须被对象调用,在学静态之前) 什么时候定义构造函数? 当分析事物时,该事物存在即具备一些特性或者行为,那么将这些内容定义在构造函数中。 如需要未知内容参与运算的 就定义参数 */ class Person { private String name;//私有 private int age;//私有 /* 构造代码块 作用:给对象进行初始化 对象一建立就运行,而且优先于构造函数执行 和构造函数的区别: 构造代码块——给所有的对象进行统一的初始化 构造函数——给对应的对象初始化 构造代码块定义的是不同对象共性的初始化内容 */ { System.out.println("person code run");//构造代码快——共性初始化内容,比如下面的 cry 是可以定义在代码块里 } Person()//类名后面有大括号不要加分号 { //如无定义 ,系统默认是 加一个”Person()();“为了方便该类初始化,否侧无法建立对象,对象没有办法初始化 System.out.println("A:name="+name+",,age="+age);//初始化方式一(重载) //System.out.println("cry");共性可以抽取称方法 cry();//简便调用 } Person(String n) { name =n; System.out.println("B:name="+name+",,age="+age);//初始化方式二(重载) //System.out.println("cry");共性可以抽取称方法 cry();//简便调用 } Person(String n,int a) { name =n; age = a; System.out.println("C:name="+name+",,age="+age);//初始化方式三(重载) //System.out.println("cry");共性可以抽取称方法 cry();//简便调用 } public void cry()//建立单独行为方法 { System.out.println("cry"); } public void setName(String n)//建立之后设置名字参数的入口方法 { name = n; } public void getName(String n)//建立之后获取名字参数的入口方法 { retur(); } } class PersonDemo2 { public static void main(String[] args) //注意大小写,主函数后面没有分号 { Person p1 =new Person();//对应方式一(如对应方式不存在无法建立其对象) //Person p1 =new Person(); 再new 就是两个对象 p1.cry(); p1.cry();//可以调用行为多次 Person p2 =new Person("LiSi");//对应方式二(如对应方式不存在无法建立其对象) //Person p2 =new Person("LiSi");多年之后需要修改名字,如果再new一个的话就是另一个对象了,不是原来的对象了 p2.setName("LiBuSi");//一般方法调用设置name的方法,修改同一个对象的name p2.setName("haishiLiBuSi");//一般方法可以多次调用设置的方法 Person p3 =new Person("WangWu",10);//对应方式三(如对应方式不存在无法建立其对象) } }
——- android培训、java培训、期待与您交流! ———-
相关文章推荐
- C++中拷贝构造函数的应用详解
- 构造函数不能声明为虚函数的原因及分析
- 深入讲解C++中的构造函数
- C++类成员构造函数和析构函数顺序示例详细讲解
- c++基础语法:构造函数与析构函数
- JavaScript 构造函数 面相对象学习必备知识
- JavaScript面向对象设计二 构造函数模式
- Javascript面向对象编程(二) 构造函数的继承
- 成员初始化列表与构造函数体中的区别详细解析
- C#中私有构造函数的特点和用途实例解析
- C#中派生类调用基类构造函数用法分析
- C#静态构造函数用法实例分析
- javascript 静态对象和构造函数的使用和公私问题
- Javascript 使用function定义构造函数
- JavaScript中的普通函数与构造函数比较
- jQuery构造函数init参数分析续
- jquery 构造函数在表单提交过程中修改数据
- php中拷贝构造函数、赋值运算符重载
- JS特殊函数(Function()构造函数、函数直接量)区别介绍
- 不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象