• 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等方法。

  • 相关阅读:
    nyoj 110 剑客决斗
    nyoj 16 矩形嵌套
    nyoj 17 单调递增最长子序列
    nyoj 37 回文字符串
    nyoj 44 子串和
    nyoj 36 最长公共子序列
    使用Broadcast实现android组件之间的通信 分类: android 学习笔记 2015-07-09 14:16 110人阅读 评论(0) 收藏
    ubuntu中安装samba 分类: linux 学习笔记 ubuntu 2015-07-07 16:14 46人阅读 评论(0) 收藏
    ubuntu中安装eclipse 分类: android ubuntu linux 学习笔记 2015-07-07 10:19 75人阅读 评论(0) 收藏
    ubuntu中安装jdk 分类: java 学习笔记 linux ubuntu 2015-07-06 17:49 74人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/zhoumin6012/p/9848751.html
Copyright © 2020-2023  润新知