浅析java--继承

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析java--继承相关的知识,希望对你有一定的参考价值。

1、为什么要使用继承

  减少代码的冗余,实现代码的复用。下面举例说明:

java老师类:

public class  DotNetTeacher {
private String name; // 老师姓名
private String school; // 所在学院
public  DotNetTeacher(String myName, String mySchool) {
name = myName;
school = mySchool;
}
public void giveLession(){
System.out.println("启动 Visual Studio 2005");
System.out.println("知识点讲解");
System.out.println("总结提问");
}
         public void introduction() {
    System.out.println("大家好!我是"           + school + "的" + name + ".");
         }
}
.net老师类:

public class  JavaTeacher {
private String name; // 老师姓名
private String school; // 所在学院
public  JavaTeacher(String myName, String mySchool) {
name = myName;
school = mySchool;
}
public void giveLession(){
System.out.println("启动 Eclipse");
System.out.println("知识点讲解");
System.out.println("总结提问");
}
public void introduction() {
    System.out.println("大家好!我是"           + school + "的" + name + ".");
          }
}
  从以上两段代码可以看出有很多代码都是重复,那我们可不可以想到一个方法实现代码共享呢?那就是今天所讲的继承。

2、继承的含义

含义:继承就是把对象的一个公共属性和方法把他提取出来,把他们放到一个类里面,我们把这个类称为父类。

从以上提出可得:

public class  Teacher {
private String name;   // 老师姓名
private String school; // 所在学院
public  Teacher(String myName,String mySchool) {
name = myName;
school = mySchool;
}
public void giveLesson(){
System.out.println("知识点讲解");
System.out.println("总结提问");
}
       public void introduction() {
    System.out.println("大家好!我是“
                 + school + "的" + name + "。");
       }
}
那我们如何访问这些属性和方法呢?这里我们就要用到继承了。

3、继承的实现

其语法格式如下:

public class  JavaTeacher  extends   Teacher {       //extends是关键字,JavaTeacher 为子类,Teacher为父类
//其余代码省略
}
java老师类实现:

public class  JavaTeacher extends  Teacher {
public void giveLesson(){
System.out.println("启动Eclipse");
super.giveLesson();
}
}

补充知识:

代码重写:当父类的方法不能充分满足子类的需求,需要对父类分方法进行重写。这里的java老师类就对老师类的public void giveLesson(){}进行了重新。

注意:子类和父类的方法具有相同的名称、参数列表、返回类型 。只是方法体不同。

4、具体使用过程:

public class test{

public static void main(String[] args) {

JavaTeacher java=new JavaTeacher("张三",“计算机学院”);

System.out.println(java.introduction());

}

}

 

输出:大家好!我是计算机学院的张三。

由此看出:

java老师类中并没有实现introduction(),而是调用了老师的introduction()方法。

 

只是浅显理解,还请指教。

 













































以上是关于浅析java--继承的主要内容,如果未能解决你的问题,请参考以下文章

《浅析:java不支持多继承的原因》

浅析AOP——简单应用

LinkedHashSet浅析

LinkedHashSet浅析

浅析C++继承与派生

浅析Java中的final关键字(转载)