面向对象第5课——继承
2016-09-26 09:07 宇航员舒克 阅读(114) 评论(0) 编辑 收藏 举报//继承课件(子类继承父类的属性和方法)(extends链接) package com.jicheng0920; //人 public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } //构造方法 public Person(String name) { this.name=name; System.out.println("实例化父类..........."); } //方法 public String getInfo() { return "name="+name+"age="+age; } } package com.jicheng0920; //关键字:extends 继承 public class Student extends Person//继承,表示Student(子类) 继承了 Person(父类) { private String school; public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } //构造方法 public Student(String name) { //显示调用父类的构造方法 //super,必须在方法的第一句 super(name);//显示调用父类构造方法 // this();//表示不在调用父类构造方法 System.out.println("实例化子类..........."); } //方法 public String getInfo() { //子类调父类的方法 //super.代表父类的实例 return "父类信息"+super.getInfo()+"子类school="+school; } } package com.jicheng0920; public class test0920 { //总结: // 1.java支持单继承,不支持多继承。子类只能有一个父类,但是父类可以有多个字类。 // 2.子类自动继承父类公开的成员。 // 3.子类不可以继承构造方法和父类中私有的方法和属性。 // 4.子类可以扩展定义自己的成员 // 5.java.lang.object是所有类的根父类 //子类在实例化子类之前早已默认实例化父类。 //方法的重写 覆盖 // 1.必须和父类的方法具有相同的方法名称、相同的参数列表、返回值类型。 // 2.子类的覆盖方法不能有比父类更严格的访问权限。 public static void main(String[] args) { // TODO Auto-generated method stub //父类 Person p=new Person("456"); //p.setName("张三"); p.setAge(18); System.out.println(p.getInfo()); //子类 //子类在实例化子类之前早已默认实例化父类。 Student s=new Student("小李"); // s.setName("小明"); s.setAge(100); s.setSchool("家里蹲大学"); System.out.println(s.getInfo());