java 子类实例化过程_java子类实例化过程

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();

*/

}

}

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值