zoukankan      html  css  js  c++  java
  • 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();是会报错的,因为没有默认的无参构造器

  • 相关阅读:
    ans Single VIP LLB and SLB config
    Kindle支持文档类型
    RFC2544测试指标
    C#中equal与==的区别
    COGS 144. [USACO Dec07] 魅力手镯【01背包复习】
    我的第六个网页制作:table标签
    我的第五个网页制作:pre、html转义、abbr标签的使用
    我的第四个网页制作:列表标签
    我的第三个网页制作:b、i、s、u、sub、sup标签的使用
    我的第二个网页制作:p,hn,br标签的使用
  • 原文地址:https://www.cnblogs.com/JAYIT/p/6864472.html
Copyright © 2011-2022 走看看