java中构造器的了解

构造器可以初始化一个对象。
在java中,初始化和创建是捆绑在一起的,这个有助于减少错误,便于代码阅读。
java完全延用了c++构造器的特点,唯一不同的是java要随着new一起使用。
构造器的特点
构造器须与类同名
每个类可以有1个以上的构造器
构造器可以有0个,1个或多个参数
构造器总是伴随着new操作
默认构造器
不接受任何参数的构造器;
每一个类都会自带一个默认构造器。如果类中没有构造器,则编译器会自动帮你创建一个默认构造器。

带参数的构造器  
由于构造器的名字由类名决定了,那么创建多种构造器的话,就需要用到重载。

如果构造器的有形如this(.....), 这个构造器会调用同一个类的另一个构造器。
比如:
public class Employee {
 
 
 public Employee(double s){
  
  this("Employee #" + 1, s); //会调用构造器Employee(String, double), 必须是第一行
  
 }
 
 public Employee(String s, double d){
  
 }
}


this关键字

除了上面的作用,还有,主要是引用方法的隐士参数,在方法内部使用
所以this主要用在:
1)引用本类的成员变量

public class Person {

	String name;
	
	public Person(String name){
		this.name = name;
	}
}


2)引用本类的其他方法
假如下面2个方法在同一个类中。其实在方法内调用另外一个方法,就不必使用this。
只有当需要明确对当前对象的引用时,才需要使用this关键字。
 
	public String getName(){
		return name;
	}
	
	public String getOtherName(){
		return this.getName();  //直接使用getName()即可
	}


3)引用本来的其他构造器

4)类的引用,将当前对象传递给其他方法

	class Peeler{
		Apple peel(Apple apple){
			return apple;
		}
	}
	
	class Apple{
		
		public Apple get(){
			Peeler peeler = new Peeler();
			return peeler.peel(this);
		}
	}











猜你喜欢

转载自blog.csdn.net/shy2794109/article/details/80844141