java 子类实例化过程(第19集)

以下内容来自marschen的java4android视频教程.

第19集子类实例化过程.
  本集主要内容.
  1.生成子类的过程.
  2.使用super调用父类构造函数的方法.
 
  由于子类继承了父类的成员变量,却无法继承父类的构造函数
  所以,在为成员变量赋值的时候有可能会出现重复代码,
  为了解决这个问题,子类可以使用super调用父类的构造函数,


class Person19{
	String name;
	int age;
	Person19(){
			
		System.out.println("Person的无参数构造函数");
	}
	Person19(String name,int age){
		this.name = name;
		this.age =age;
		System.out.println("Person的有参数构造函数");
	}
	void eat(){
		System.out.println("吃饭");
		}
}


class Student19 extends Person19{
	int grade;
	//在子类的构造函数当中,必须调用父类的构造函数,为什么?
	Student19(){
		super(); //调用父类的构造函数,如果用户没有写,编译器会自动添加.,在函数的第一句语句.
		System.out.println("Student 无参数构造函数");		
	}
	
	Student19(String name,int age,int grade){
		//this.name = name;
		//this.age =age;
		super(name,age);//调用父类的构造函数
		this.grade =grade;
	}
}

class Test19{
	public	static void main(String args[]){
		Student19 student  = new Student19("zhangsan",18,3);
		System.out.println(student.name);
		System.out.println(student.age);
		System.out.println(student.grade);
	}
}




你可能感兴趣的:(java 子类实例化过程(第19集))