java代码---继承-子类使用继承父类的属性。理解测试
总结:对于继承。如果父类有的成员变量而子类没有,那么子类的成员变量赋值是来自于父类的,当在子类构造方法赋值时,它和父类的成员变量值是一样的
当成员变量在父类和子类中都存在时,父类用父类的属性,子类用子类的属性
package com.a.b; class Peson { String name; int age; public Peson(String a, int b) {// 带参的构造方法 name = a; age = b; } public Peson() { name = "person name"; age = 44; } public void pprint() { System.out.println("class:Person;" + "Name:" + name + "; age:" + age); } } // 这个说明,当成员变量在子类和父类中都有定义时,父类用自己的,子类也用自己的成员变量 // 当这个成员变量存在于父类,而子类没有时,子类的age成员是继承父类的,此时子类和父类均为20; // 当我们注释掉子类无参构造方法里的age时,子类和父类的年龄是一样的是,44 // 当我注释掉子类的name变量时,子类和父类的name也都变为Student name.成了公共成员变量 class Student extends Peson { int classno; //String name; public Student() {//这里的父类一定要一致 name = "Student name"; age = 20; } public Student(String a, int b, int c) { name = a; age = b; classno = c; } public void sprint() { System.out.println("class:Student;" + "Name:" + name + ";age:" + age + ";classno:" + classno); } } // 这作为一个测试类 public class Morning { public static void main(String[] args) { Student s = new Student(); s.pprint();// 调用父类的方法 s.sprint();// 调用子类的方法 Student s2 = new Student("zhangsna", 66, 2); s2.sprint();// 调用子类的成员方法 s2.pprint();// 调用父类的方法 } }