• java 构造器初始化


    thinking in java的一些代码:http://www.mindviewinc.com/Books/TIJ4/

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

    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();是会报错的,因为没有默认的无参构造器

  • 相关阅读:
    Delphi通过调用COM对象实现更改桌面壁纸
    Delphi之TDrawGrid绘制
    Delphi中的消息截获(六种方法:Hook,SubClass,Override WndProc,Message Handler,RTTI,Form1.WindowProc:=@myfun)good
    从一般管理原则看微软的重组
    Delphi使用Windows API函数AnimateWindow实现窗体特效
    Delphi下URL汉字编码解码的两个函数
    Delphi2007下CIS的clHttp使用
    Delphi使用XmlHttp获取时间
    提升进程权限为DEBUG权限
    VS 2012 单元测试简单配置
  • 原文地址:https://www.cnblogs.com/JAYIT/p/6864472.html
Copyright © 2020-2023  润新知