Java中的构造方法

 

  1. 使用new+构造方法  创建一个新的对象

  2. 构造方法是定义在Java类中的一个用来初始化对象的方法
    构造方法与类同名没有返回值

  3. 无参构造方法的使用
     

    public class Telephone {
    	public Telephone() {
    		System.out.println("无参的构造方法执行了");
    	}
    }
    

    在main方法中,用无参的构造方法 new 一个新的对象

    public static void main(String[] args) {
    		Telephone phone  = new Telephone();//当Telephone类中,没有写构造方法,系统将会帮我们自动创建一个无参的构造方法
    	}
    


    运行结果是:
     

    无参的构造方法执行了


     

  4. 有参构造方法的使用
     

    用有参构造方法创建对象,其实就是为了初始化成员变量的值
    // 有参的构造方法可以和无参的构造方法并存的!
    	public Telephone(float screen, float cpu, float mem) {
    		this.screen = screen;
    		this.cpu = cpu;
    		this.mem = mem;
    		System.out.println("有参的构造方法执行了");
    	}

    用有参的构造方法和无参的构造方法分别 创建一个对象
    public class InitialTelephone {
    
    	public static void main(String[] args) {
    		//通过无参的构造方法创建对象
    		Telephone phone1  = new Telephone();//当Telephone类中,没有写构造方法,系统将会帮我们自动创建一个无参的构造方法
    		//通过有参的构造方法创建对象,并给对象中的属性赋初值
    		Telephone phone2 = new Telephone(5.8F, 2.4F, 4.0F);
    	}
    
    }

    运行结果:
     

    无参的构造方法执行了
    有参的构造方法执行了
    


     

  5. 当没有指定构造方法时,系统会自动添加无参的构造方法
     

  6. 当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法
     

  7. 构造方法的重载:方法名相同,但参数不同的多个方法,调用时会根据不同的参数选择相应的方法
     

  8. 构造方法不但可以给对象的属性赋值,但可以保证给对象的属性赋一个合理的值
     

    比如:  
    public Telephone(float screen, float cpu, float mem) {
    		//可以在构造方法中判断传入属性的 参数合理性:如果传入的screen参数值<4.0F,将自动赋值4.0F;赋值>=4.0F时,则正常将参数值赋值给属性screen
    		if (screen < 4.0F) {
    			System.out.println("您输入的参数有问题,自动赋值4.0");
    			this.screen = 4.0F;
    		} else {
    			this.screen = screen;
    		}
    		this.cpu = cpu;
    		this.mem = mem;
    		System.out.println("手机屏幕大小:"+this.screen+"英寸"+"  CPU最大主频是:"+this.cpu+"GHz"+"  内存的大小是:"+this.mem+"G"+"  有参的构造方法执行了");
    	}

    创建一个传入参数不合理的对象:
     

    Telephone phone = new Telephone(2.8F, 2.4F, 4.0F);//传入屏幕大小2.8F<4.0F

    运行结果是:
     

    您输入的参数有问题,自动赋值4.0
    手机屏幕大小:4.0英寸  CPU最大主频是:2.4GHz  内存的大小是:4.0G  有参的构造方法执行了

     

转载于:https://my.oschina.net/u/3421709/blog/883610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值