zoukankan      html  css  js  c++  java
  • Java 中的继承

    继承

    如果一些类中含有相同的代码,那么可以将这些相同的代码提取到一个新的类中,然后通过extends关键字让原来的类和新的类产生关系 --- 继承。

    通过继承,原来的类就称之为了子类(派生类),新的类就成了父类(超类/基类)。

    子类通过继承父类可以使用父类中的一部分方法和属性

    注意:子类继承了父类的全部的数据域(方法+属性),但是继承之后只有一部分数据域对子类可见

    在Java中,支持的是类和类之间的单继承 -> 一个子类只能继承一个父类,但是一个父类可以有多个子类

    类的继承格式

    在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

    class 父类 {
    }
     
    class 子类 extends 父类 {
    }

    实例:

    父类:

    public class Animal { 
        private String name;  
        private int id; 
        public Animal(String myName, int myid) { 
            name = myName; 
            id = myid;
        } 
        public void eat(){ 
            System.out.println(name+"正在吃"); 
        }
        public void sleep(){
            System.out.println(name+"正在睡");
        }
        public void introduction() { 
            System.out.println("大家好!我是"         + id + "号" + name + "."); 
        } 
    }

    企鹅类:

    public class Penguin extends Animal { 
        public Penguin(String myName, int myid) { 
            super(myName, myid); 
        } 
    }

    老鼠类:

    public class Mouse extends Animal { 
        public Mouse(String myName, int myid) { 
            super(myName, myid); 
        } 
    }

    继承的特性

    • 子类拥有父类非private的属性,方法。

    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

    • 子类可以用自己的方式实现父类的方法。

    • Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。

    • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。

  • 相关阅读:
    IEnumerable、IEnumerator接口(如何增加迭代器功能)
    IConvertible接口
    IComparable和IComparer接口
    c#-泛型、协变、逆变
    MVC-HtmlHelper扩展
    .Net反射-TypeDescriptor
    MVC Core 使用TagHelper扩展几个插件
    js日志组件封装
    js预解析
    js代码优化
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9457885.html
Copyright © 2011-2022 走看看