Fork me on GitHub

继承的实现与限制

------------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编辑  收藏  举报

导航