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

转载于:https://www.cnblogs.com/zhoumin6012/p/9848751.html

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

  1. java中父类与子类有相同属性调谁?取决于左边

    java中父类与子类有相同属性调谁?答案是:取决于左边! 一. 在今天的继承复习当中,我有对继承中的属性有新的感悟------>子类继承父类,会继承父类的方法和属性,看下图: 从上图可以看出,即 ...

  2. java中父类和子类_java中父类和子类的关系

    子类继承父类,子类中就拥有父类的所有属性和方法.在创建子类的实例的时候,父类和子类到底是如何执行的呢?还有静态代码块和非静态代码块和构造方法的执行顺序? 1.先执行父类的静态代码块,然后再子类静态代码 ...

  3. java中父类创建子类的语法_Java 语言中,所创建的子类都应有一个父类。( )_学小易找答案...

    [判断题]一个类可以实现多个接口,接口可以实现"多重继承". ( ) [简答题]报价议价环节话术 [单选题]定义一个公有double型常量PI,哪一条语句最好?( ) [论述题]展 ...

  4. java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题...

    1 /* 2 对于类中对成员变量的初始化和代码块中的代码全部都挪到了构造函数中, 3 并且是按照java源文件的初始化顺序依次对成员变量进行初始化的,而原构造函数中的代码则移到了构造函数的最后执行 4 ...

  5. Java中父类和子类抛出异常的处理

    (尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_25827845/article/details/85109390冷血之心的博客) 背景: 这篇博客的灵感来自于我在实 ...

  6. java子类和父类实例_java中父类与子类之间的转换示例

    java中父类与子类之间的转换示例有以下三点: 示例一 父类强制转子类 pre class="brush:php;toolbar:false">Father f = new ...

  7. 【java】父类与子类的引用赋值关系

    理清楚4个目标 父类引用("名") 父类对象("实") 子类引用 子类对象 理清楚几个操作 // 父类 public class parent{}// 子类 p ...

  8. java中序列化之子类继承父类序列化

    原文 父类实现了Serializable,子类不需要实现Serializable 相关注意事项     a)序列化时,只对对象的状态进行保存,而不管对象的方法:     b)当一个父类实现序列化,子类 ...

  9. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题

    Java子类在实例化时默认调用的是父类的无参构造函数,不论实例化时调用的是子类的有参还是无参构造函数, 1.当父类没有显式定义构造方法时, 编辑器会默认为此类添加一个隐式无参构造函数.此时子类可以有自 ...

最新文章

  1. gdal 1.9+python 2.7开发环境配置
  2. 二十六、二叉树--查找指定节点
  3. 吴恩达机器学习笔记4-代价函数III(cost function)
  4. 【优达学城测评】SELECT 子句(6)
  5. (0078)iOS开发之支付宝集成:客户端签名与验证
  6. 【干货】从有道5亿用户看工具型产品的转型之路
  7. 图书馆座位预定管理系统前端设计_图书馆座位预约管理信息系统设计设计.doc...
  8. python csv文件写入失败_python解析csv文件失败
  9. 【小题目】输入三个数字表示年月日,输出这一天在这一年是第几天
  10. bs cs架构区别_ehr系统是选择BS还是CS 架构?
  11. 中介者模式分析、结构图及基本代码
  12. JNI调用两层C++动态库
  13. 无线网络(4) 无线网络基本工作原理
  14. 2008服务器系统显卡,Windows2008 R2 开启显卡硬件加速
  15. 2018-2019-1 20165318 20165322 20165326 实验二 固件程序设计
  16. java 生成水印_Java生成文字水印
  17. 业务安全情报第四期:新能源车企重金打造的私域流量,成为黑灰产“掘金发财”的新目标
  18. android studio连接本地SqlServer数据库报网络错误
  19. 海量的超赞 Linux 软件
  20. 多因子量化选股(1)

热门文章

  1. MaterialIDsRandomGenerator for 3dsMax使用教程
  2. 对《软件工程》第四章的理解
  3. Powershell管理系列(五)修改AD账号属性
  4. Struts2.34必需具备的包
  5. 【三个臭皮匠】第一次网络会议记录
  6. ipv6的rip配置
  7. WINDOWS 2008 脱机文件夹
  8. sklearn gridcv
  9. python获取列表中前N大的索引
  10. python统计字符串汉字个数_Python使用递归计算字符串中的字符数