您的位置:首页 > 编程语言 > Java开发

java子类实例化过程

2014-02-24 11:41 399 查看
class Person{
String name;
int age;
/*
以上两个为成员变量
*/
Person(){
System.out.println("Person的无参数构造函数");
}

Person(String name,int age){
this.name = name;
this.age= age;
//System.out.println("my name is " + name + " \n my age is " + age );
}
//以上两个Person为构造函数
void eat(){
System.out.println("吃饭");
}
//void为成员函数
}

----
/* extend只能继承成员变量和成员函数而不能继承Persong中的构造函数

在子类中必须调用父类中的构造函数,如果不调用则系统自行辅助调用
即直接加上一句话
super进行调用 ---super 如果调用不为空的构造函数则super()不执行
如果想调用父类中其他的任意函数,那么就在super()括号中写上需要调用的参数即可

*/
class Student extends Person{
int grade;
//在子类的构造函数中,必须 调用父类的构造函数 为什么????
Student(){
//super();
System.out.println("Student的无参数构造函数");
}

Student(String name , int age , int grade){
//this.name = name;
//this.age = age;
super(name,age);
this.grade = grade;
System.out.println("my name is " + name + " \n my age is " + age + " my grade is " + grade);
}

}

--------

class Test{

public static void main (String args []){

Student student = new Student("张三",18,3);
System.out.println(student.name);
System.out.println(student.age);
System.out.println(student.grade);

/*生成Student这个类的对象,
首先我们使用new这个关键字调用Student这个构造函数

当我们使用new这个关键字来调用student这个构造函数时候,
有一个东西会帮我们先调用Person这个函数的无参数构造函数
然后在执行Student student = new Student();
*/

}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java super 子类