特别注意:如果子类调用的是继承来的方法时,使用的变量则是父类的变量。
输出结果:父类Person的构造方法
class person{
float popu=13.7F;
static double accPopu=133333;
public void population(){
System.out.println("全国人口为:"+accPopu+"人,大约为"+popu+"亿");
}
public void tell(){
System.out.println("全国人口为:"+accPopu+"人,大约为"+popu+"亿");
}
}
class Student extends Person{
float popu=1.08F;
static double accPopu=23333;
public void population(){
System.out.println("全国人口为:"+accPopu+"人,大约为"+popu+"亿");
}
}
public class ExtendsDemo4{
public static void main(String[] args){
Student stu=new Student();
stu.population();
stu.tell();
Person per=new Person();
per.population();
}
}
输出结果:全国人口为133333人,大约为1亿
全国人口为23333人,大约为1亿
全国人口为23333人,大约为1亿
(ps.数据是瞎编的。。。)
当构造方法遇到继承:
在继承中,子类对象在实例化之前必须先调用父类中的构造方法,再调用子类自身的构造方法。
class Person{
public Person(){
System.out.println("父类Person的构造方法");
}
}
class Student extends Person{
public Studnet(){
System.out.println(“子类Student的构造方法”);
}
}
public class ExtendsDemo05{
public static void main(String[] args)
{
Student stu=new Student();
}
}
输出结果:父类Person的构造方法
子类Student的构造方法