继承的实现与限制
------------siwuxie095
继承的实现:
(1)继承:扩展父类的功能
(2)Java中使用 extends 关键字完成继承
代码:
package com.siwuxie095.extendsdemo;
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 void tell() { System.out.println("姓名:"+getName()+" 年龄:"+getAge()); }
}
//使用继承,减少代码冗余,提高效率 class Student extends Person{ private int score;
public int getScore() { return score; }
public void setScore(int score) { this.score = score; }
public void say() { System.out.println("成绩:"+getScore()); }
}
public class ExtendsDemo01 {
public static void main(String[] args) { Student s=new Student(); //子类调用父类中的方法 s.setName("张三"); s.setAge(20); s.setScore(96); s.tell(); s.say(); }
} |
运行一览:
继承的限制:
(1)Java中只允许单继承
(2)子类不能直接访问父类的私有成员
代码:
package com.siwuxie095.extendsdemo;
class People{ private int age;
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
//单继承 class Worker extends People{ public void say() { //不能直接访问父类的私有成员 //System.out.println(age); } }
//单继承,或者也继承自 People 也可以 //不同同时继承自 People 和 Worker //即 不能多继承,但可以多层继承 class PetWorker extends Worker{ public void tell() { System.out.println(getAge()); } }
public class ExtendsDemo02 {
public static void main(String[] args) { PetWorker pw=new PetWorker(); pw.setAge(20); pw.tell(); }
} |
运行一览:
【made by siwuxie095】
posted on 2017-03-17 16:29 siwuxie095 阅读(117) 评论(0) 编辑 收藏 举报