java 继承类构造函数吗_继承类构造函数问题

继承类构造函数问题

class Person

{

public String name;

public int age;

Person(String name,int age)

{

this.name=name;

this.age=age;

}

public void setinfo()

{

System.out.println("name="+name+",age="+age);

}

}

class student extends Person

{

public String school;

student()

{

super("chengsheng",15);

}

}

class teststudent

{

public static void main(String args [])

{

student st=new student();

st.name="Nioko";

st.age=20;

st.setinfo();

}

}

这个程序的构造函数的调用是怎么调用的啊 我有点不明白啊 望 指点

搜索更多相关的解决方案:

继承  构造  函数

----------------解决方案--------------------------------------------------------

student类调用父类的构造方法

用super();

----------------解决方案--------------------------------------------------------

在执行 student st=new student();这句时

已经调用了父类的构造函数Person(String name,int age)

{

this.name=name;

this.age=age;

}

也就是说此时name的值是chengsheng age的值是15

然后又为name和age重新赋值

如果你把st.name="Nioko";

st.age=20;

给去掉..那么输出的就是chengsheng 15

----------------解决方案--------------------------------------------------------

问一下楼主: 这是你从书上看到的还是自己写的?

如果是从某本书上看到的话,权你赶紧换书,我觉得好多都不太规范,虽然我也刚学java

象你定义的变量都是public 。。。。。。。

我写的这个或许还好一点吧

public class Person {

private String name;

private int age;

Person(String name, int age) {

this.name = name;

this.age = age;

}

public void setinfo() {

System.out.println("name=" + name + "\nage=" + age);

}

}

public class Student extends Person {

private String school;

Student(String name, int age, String school) {

super(name, age);

this.school = school;

}

public void setinfo() {

super.setinfo();

System.out.println("school=" + school);

}

}

public class Test {

public static void main(String args[]) {

Student st = new Student("Nioko", 20, "xidian University");

st.setinfo();

}

}

----------------解决方案--------------------------------------------------------

注意一个问题,就是在子类继承父类的时候,会有一个super的关键字,去调用父类只中参数相匹配的函数

----------------解决方案--------------------------------------------------------

4楼,public类只能写一个

----------------解决方案--------------------------------------------------------

晕  看样子我也要换书了   我平时写代码  基本上都用的是public

----------------解决方案--------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值