子类继承父类,父类就相当于子类的共性,子类相当于父类的特性,继承之后再重写子类方法(给予子类更多操作的可能),子类还能利用super调用父类
可以说子类的操作基于父类,但又能在父类的根基上发展出更多可能性
通过查找共性编写父类,通过查找特性编写子类
人类类 public class Human { private String name; private String age; //构造方法 public Human() {} public Human(String name,String age) { this.setName(name); this.setAge(age); } //age与name的get,set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } //父类方法 public void work() { System.out.printf("这是父类的方法"); } } 学生类 public class Student extends Human { //构造方法 public Student() {} public Student(String name, String age) { super(name,age);//调用父类构造方法传递参数 //这里我尝试过使用this.setName(getName())方法,最后输出是null,因为name是private类型,我们可以通过getname()得到name,但是我们的子类无法继承父类的私有成员变量,即学生类中是没有name变量的,所以setname()不成功,输出null } //重写父类方法 public void work() { System.out.println("学生爱读书"); } } 老师类 public class Teacher extends Human { //构造方法 public Teacher() {} public Teacher(String name, String age) { super(name,age); } //重写父类方法 public void work() { System.out.println("老师爱教书"); } } 测试类 //自己尝试创建对象,赋值,调用方法(父类,子类都要尝试) public class test { public static void main(String[] args) { System.out.println("调用setName方法(顺序:学生类,老师类)"); Student s=new Student("学生","15"); System.out.println(s.getName()); Teacher t=new Teacher("老师","35"); System.out.println(t.getName()); ...... } }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232189.html原文链接:https://javaforall.net
