使用静态成员变量来计算内存中的实例化的对象数目_Java基础学习:面向对象-封装和This关键字...

封装_static一、 构造方法构造方法是一种特殊的方法,专门用于构造/实例化对象,形式 [修饰符] 类名( ) { } 例: public car( ) { }构造方法根据是否有参数分为无参构...
摘要由CSDN通过智能技术生成

6c3801287e89005d0c13ed9cbf2dd066.png

封装_static

一、 构造方法

构造方法是一种特殊的方法,专门用于构造/实例化对象,形式

[修饰符] 类名( ) { }

例: public car( ) { }

构造方法根据是否有参数分为无参构造和有参构造。

有参构造和无参构造是方法重载关系。

1.无参构造

无参构造方法就是构造方法没有任何参数。构造方法在创建对象(new Dog())调用,无参构造方法中一般用于给属性赋值默认值。

public class Dog{
    
	
	String name;
	int health;
	int love;
	String strain;
	
	public Dog(){
    
		System.out.println("构造方法");
		health = 100;
		love = 0;
	}
    … 
}

如果开发中没有定义无参构造方法,jvm默认给类分配一个无参构造,形如

public Dog(){
    
}

2.有参构造

当构造/实例化一个对象时,可以向构造方法中传递参数,这样的构造方法称为有参构造。形如:

[修饰符] 类名(Type arg1,Type arg2,…){
    
    // 初始化代码
}

(1).局部变量和成员变量优先级

如果在一个作用域中,局部变量和成员变量同名,局部变量的优先级更高。

public class Dog{
    
	
	String name;
	int health;
	int love;
	String strain;
	
	public Dog(String name,int health,int love,String strain){
    
		name = name;
		health = health;
		love = love;
		strain = strain;
	}
}

优化后

public class Dog{
    
	
	String name;
	int health;
	int love;
	String strain;

	public Dog(String _name,int _health,int _love,String _strain){
    
		name = _name;
		health = _health;
		love = _love;
		strain = _strain;
	}
	
	public void showInfo(){
    
		System.out.print("我的名字叫"+name);
		System.out.print(",健康值"+health);
		System.out.print(",亲密度"+love);
		System.out.println(",我是一只"+strain);
	}
}

(2)有参构造常见问题

如果一个类提供了有参构造方法,jvm不再给类默认分配无参构造。

public class Dog{
    
	
	String name;
	int health;
	int love;
	String strain;
	
	/*
	public Dog(){
		System.out.println("构造方法");
		health = 100;
		love = 0;
	}
	*/

	public Dog(String _name,int _health,int _love,String _strain){
    
		name = _name;
		health = _health;
		love = _love;
		strain = _strain;
	}
	
	public void showInfo(){
    
		System.out.print("我的名字叫"+name);
		System.out.print(",健康值"+health);
		System.out.print(",亲密度"+love);
		System.out.println(",我是一只"+strain);
	}
}

调用上面代码

Dog dog = new Dog();
dog.name = name;
dog.hea
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值