zoukankan      html  css  js  c++  java
  • java中父类与子类的关系以及使用

    java中父类与子类的关系以及使用 

    在java中规定:一个父类可以有多个子类,但是一个子类只能有一个父类。子类可以通过extends关键字来继承父类。做个比较通俗的比喻,就像一个父亲可以有多个亲孩子,但是一个孩子只能有一个亲生父亲。

    1.继承以及重写:子类继承父类是对父类属性和方法的全面继承,同时子类在继承了父类的方法后,可对父类的方法进行重写。

    public class Son extends Fat{
    private int b;
    private String h1;
    public void   sss() {
    System.out.println("我要学好英语");    //在这我们对父类中的sss()方法进行了重写
    }
    public void   iii() {
    System.out.println("今天天气真好");  // 在这我们添加了子类特有的方法
    }

    }
    class Fat{
     public int a=5;
    private String h;
    public void   sss() {
    System.out.println("我要学好java");
    }

    }

    2.父类用作对象的声明类型,构造器用子类的构造器(有点类似于接口和实现类的对象的关系)。这样使得我们的应用场景和范围更为灵活和广泛。我们知道一个父类可以有多个子类,这样我们可以在声明的时候用父类,在具体的构造器时,我们用子类。这时,这个新生成的对象是父类类型的对象,也就是说这个对象中目前只有父类的属性和方法(如果子类重写,则用子类重写的方法)。如果我们需要调用子类中特有的方法和属性,则我们需要将该对象强制转换成子类类型的对象。看下面代码

    public class TestSon {
    public static void main(String[] args) {
    Fat s=new Son();     //我们在这进行了父类用作对象的声明类型,构造器用子类的构造器。
    s.sss();                    //我们调用了对象中的sss()方法,为我们重写过的方法
    System.out.println(s.a);    //  我们展示了父类中属性a的值,此处为public(没有进行封装)
    Son y=(Son)s;             //将s对象转化为Son类型的y对象
    y.iii();;                           //这样我们可以通过y对象来调用子类中特有的iii()方法。
    int u=y.b;                     //同时我们也可以接受子类中特有的属性b。

    }

    }

    对这个知识点的理解和记忆中,我们可以用七个葫芦娃和葫芦娃爸爸(我假设的)来理解。假设葫芦娃爸爸只有吃饭这一个技能包,七个葫芦娃的技能点儿除了吃饭之外,分别还有比如喷火、喷火等技能包(每个人都不一样)。故我们可以在用某一个对象时,可以先以葫芦娃爸爸作为声明类型,然后呢用具体的葫芦娃进行构造。当我们在表达吃饭的动作(每个小葫芦娃都要吃饭啊~~~)时,我们就可以用当前对象名,吃饭(方法)来表示。但是当需要用喷火(方法),我们就需要将这个对象转化成葫芦四娃类型的了(因为这个是他和葫芦娃爸爸不一样的地方,四娃特有)。

    3.Object类是所有类的父类,其中有方法equals等方法。

  • 相关阅读:
    ZRender实现粒子网格动画实战
    线段树专题—ZOJ1610 Count the Colors
    LeetCode Recover Binary Search Tree
    Android跨进程訪问(AIDL服务)
    刘下记录:ImageView.scaleType 属性全解析(含视频)
    myeclipse解决JSP文件里script背景颜色的调整
    hdu 5381 The sum of gcd(线段树+gcd)
    newlisp HTTP Basic Authentication
    codeforces 132C Logo Turtle--- dp dfs
    python代码风格-PEP8
  • 原文地址:https://www.cnblogs.com/zhoumin6012/p/9848751.html
Copyright © 2011-2022 走看看