java面向对象特性_继承

一、继承

  1. 为什么需要继承:(提高代码的复用性)看下面的代码

1.1 在没有用继承的时候的代码量

class Stu{//学生类
 private String name;
 private int age;
 public void eat(){
  System.out.println("我的饭量是多少?");
 }
 
}
class Pupil{//小学生
 private String name;
 private int age;
 public void eat(){
  System.out.println("我能吃一碗饭");
 }
}
class Middle{//中学生
 private String name;
 private int age;
 public void eat(){
  System.out.println("我能吃两碗饭");
 }
}
class College{//大学生
 private String name;
 private int age;
 public void eat(){
  System.out.println("我能吃三碗饭");
 }
}

1.2在用了继承的时候的代码量

class Stu{//学生类
private String name;

private int age;
 public void eat(){
  System.out.println("我的饭量是多少?");
 }
 
}
class Pupil extends Stu{//小学生
 public void eat(){
  System.out.println("我能吃一碗饭");
 }
}
class Middle extends Stu{//中学生
 public void eat(){
  System.out.println("我能吃两碗饭");
 }
}
class College extends Stu{//大学生
 public void eat(){
  System.out.println("我能吃三碗饭");
 }
}

这样就可以把公共的属性由父类来写了。子类直接可以使用。不用重复定义

2.继承的注意事项

2.1、那么父类的那些熟悉能被子类继承呢?

    2.1.1  父类定义成public,protected的都能被子类继承。默认修饰符的也能被子类继承。private的不能被子类继承

    2.1.2  子类最多只能直接继承一个父类

    2.1.3 所有的类都继承与Object

你可能感兴趣的:(java,继承,面向对象特性)