java 继承 继承的限制

来源:互联网 发布:怎么看淘宝的历史价格 编辑:程序博客网 时间:2024/06/05 07:34

1  继承的基本概念

    扩展父类的功能

2  java 中使用的extends  关键字完成继承

  class 子类 extends 父类{}

案例一:

package csdn.zyl.demo;
class  People1{
 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;
 }
 
}
class Student1 extends People1
{
// private int age;
// private String name;
 private int score;
// public int getAge() {
//  return age;
// }
// public void setAge(int age) {
//  this.age = age;
// }
// public String getName() {
//  return name;
// }
// public void setName(String name) {
//  this.name = name;
// }
 public int getScore() {
  return score;
 }
 public void setScore(int score) {
  this.score = score;
 }
 
 public void say()
 {
  System.out.println("我叫:"+getName()+"\t年龄:"+getAge());
 }
 
}
public class ExtendDemo {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Student1 student = new Student1();
  student.setAge(20);
  student.setName("张三");
  student.setScore(100);
  student.say();
  System.out.println(student.getAge());
 }
}

案例 结果:

我叫:张三 年龄:20
20


3  继承的限制:

(1) 在java中只可以单继承

(2) 子类 不可以直接访问父类的私有成员

案例  一:

package csdn.zyl.demo;
class People8{
 private int age;
    //子类无法访问  分类私有成员 需要getAge() 和 setAge()  访问
 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }
 
}
class Worker extends People8
{
 
}

class PetWorker extends Worker{
 public void  tell()
 {
  System.out.println(getAge());
 }
}
//class PetWork extends Worker,PetWorker {
//   此段代码出错 编译无法通过  及 不可以进行多继承
//}
public class ExtendDemo04 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
        PetWorker worker = new PetWorker();
        worker.setAge(100);
        worker.tell();
 }

}

案例结果:

100


原创粉丝点击