博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 构造器初始化
阅读量:5035 次
发布时间:2019-06-12

本文共 1424 字,大约阅读时间需要 4 分钟。

thinking in java的一些代码:

构造函数的作用是在创建对象的时候初始化对象

  1. 构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
  2. 每个类可以有一个以上的构造器
  3. 构造器可以有0个、1个或1个以上的参数
  4. 构造器没有返回值
  5. 构造器总是伴随着new操作一起调用
package init;/** * @author sawshaw *对象初始化 */public class ObjectInit {	private int a,b; public ObjectInit(){ //不带参数的默认构造器 System.out.println("调用了无参构造函数"); } public ObjectInit(int i){ //带参数的初始化 System.out.println("调用了有参构造函数"); } //对象初始化对属性赋值 public ObjectInit(int a,int b){ this.a=a; this.b=b; } public static void main(String[] args) { ObjectInit o=new ObjectInit(); o.getValue(); ObjectInit o1=new ObjectInit(6); o1.getValue(); ObjectInit o2=new ObjectInit(6,7); System.out.println(o2.a+","+o2.b); } public void getValue(){ System.out.println("===="); } }

缺省构造器 如果已经定义了一个构造器无论是否有参还是无参,编译器不会自动为你再创建默认的无参构造器,所以如果

package init;/** * @author sawshaw *对象初始化 */public class ObjectInit {	private int a,b; /*public ObjectInit(){ //不带参数的默认构造器 System.out.println("调用了无参构造函数"); }*/ public ObjectInit(int i){ //带参数的初始化 System.out.println("调用了有参构造函数"); } //对象初始化对属性赋值 public ObjectInit(int a,int b){ this.a=a; this.b=b; } public static void main(String[] args) { ObjectInit o=new ObjectInit(); o.getValue(); ObjectInit o1=new ObjectInit(6); o1.getValue(); ObjectInit o2=new ObjectInit(6,7); System.out.println(o2.a+","+o2.b); } public void getValue(){ System.out.println("===="); } }

注释默认的构造器,那么ObjectInit o=new ObjectInit();是会报错的,因为没有默认的无参构造器

转载于:https://www.cnblogs.com/JAYIT/p/6864472.html

你可能感兴趣的文章
第一次作业 1.8
查看>>
Java操作redis
查看>>
理解并设计rest/restful风格接口
查看>>
PHP preg_match正则表达式的使用
查看>>
Permutation Recovery
查看>>
WPF,Silverlight与XAML读书笔记第二十 - 控件之二 – 内容控件(命令控件)
查看>>
js补充之作用域
查看>>
12.4号
查看>>
安装JMeter
查看>>
虚方法与抽象方法有什么区别
查看>>
20181126-java-面试知识-收集
查看>>
POJ-3295 Tautology 枚举+DFS
查看>>
KRPano多屏互动原理
查看>>
KRPano动态热点专用素材图50多个,加动态热点使用方法
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>