继承的实现与限制

来源:互联网 发布:模具编程软件 编辑:程序博客网 时间:2024/06/16 23:36

------------siwuxie095

  

  

  

  

  

继承的实现:

  

1)继承:扩展父类的功能

  

(2)Java中使用 extends 关键字完成继承

  

  

  

代码:

  

package com.siwuxie095.extendsdemo;

  

class Person{

private String name;

privateint age;

public String getName() {

return name;

}

publicvoid setName(String name) {

this.name = name;

}

publicint getAge() {

return age;

}

publicvoid setAge(int age) {

this.age = age;

}

 

publicvoid tell() {

System.out.println("姓名:"+getName()+"年龄:"+getAge());

}

 

 

}

  

//使用继承,减少代码冗余,提高效率

class Studentextends Person{

privateint score;

  

publicint getScore() {

return score;

}

  

publicvoid setScore(int score) {

this.score = score;

}

 

publicvoid say() {

System.out.println("成绩:"+getScore());

}

 

}

  

public class ExtendsDemo01 {

  

public staticvoid 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{

privateint age;

  

publicint getAge() {

return age;

}

  

publicvoid setAge(int age) {

this.age = age;

}

 

}

  

//单继承

class Workerextends People{

publicvoid say() {

//不能直接访问父类的私有成员

//System.out.println(age);

}

}

  

//单继承,或者也继承自 People 也可以

//不同同时继承自 People Worker

//不能多继承,但可以多层继承

class PetWorkerextends Worker{

publicvoid tell() {

System.out.println(getAge());

}

}

  

public class ExtendsDemo02 {

  

public staticvoid main(String[] args) {

PetWorker pw=new PetWorker();

pw.setAge(20);

pw.tell();

}

  

}

  

  

运行一览:

  

  

  

  

  

  

【made by siwuxie095】

0 0
原创粉丝点击